这里我创建了三张表来对其使用视图
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);
视图不是表,不保存数据,只是一张虚拟表,视图的数据来源于基表。
如果视图的数据只来源与一张基表,那么修改视图相当于修改基表。