MySQL笔记002(视图)

这里我创建了三张表来对其使用视图

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);
视图不是表,不保存数据,只是一张虚拟表,视图的数据来源于基表。
如果视图的数据只来源与一张基表,那么修改视图相当于修改基表。

猜你喜欢

转载自blog.csdn.net/m0_49708063/article/details/108735956
今日推荐