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

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值