這里我創建了三張表來對其使用視圖
CREATE TABLE userd(
user_id INT(4) PRIMARY KEY,
loginid VARCHAR(10) NOT NULL,
name_ VARCHAR(10) NOT NULL,
mobile INT(11) NOT NULL,
email VARCHAR(20) NOT NULL
);
CREATE TABLE course(
course_id INT(4) PRIMARY KEY,
course_name VARCHAR(10) NOT NULL,
description VARCHAR(10) NOT NULL
);
CREATE TABLE user_course(
id INT(4) PRIMARY KEY,
user_id INT(4) NOT NULL,
course_id INT(4) NOT NULL
);
– 添加外鍵約束 外鍵約束只能再主鍵或者UNIQUE的約束條件下添加 如果添加兩個則稍微改下名就好
– 例如: user_course 和user_course1
ALTER TABLE user_course ADD CONSTRAINT fk_user_course
FOREIGN KEY(user_id) REFERENCES userd(user_id);
ALTER TABLE user_course ADD CONSTRAINT fk_user_course1
FOREIGN KEY(course_id) REFERENCES course(course_id);
創建好后的表:



這里我們使用userd和course作為user_course的外連接將三張表聯系起來
– 查詢
SELECT u.name_,c.course_name,c.description
FROM userd u JOIN user_course uc ON u.user_id=uc.user_id JOIN course c ON c.course_id=uc.course_id
WHERE u.name_=‘花生’;
SELECT * FROM vw_user_course WHERE name_=‘花生’;
視圖
CREATE
VIEW test.vw_user_course
AS SELECT u.name_,c.course_name,c.description
FROM userd u JOIN user_course uc ON u.user_id=uc.user_id JOIN course c ON c.course_id=uc.course_id;
(SELECT * FROM vw_user_course);
視圖不是表,不保存資料,只是一張虛擬表,視圖的資料來源于基表,
如果視圖的資料只來源與一張基表,那么修改視圖相當于修改基表,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/116385.html
標籤:其他
上一篇:2020/9/21日報 controller層接受ajax資料為null
下一篇:臭弟弟的mysql資料庫原理01
