视图:是数据库中存在的虚拟表,表的结构和数据依赖于基本表。
为了简化查询语句,安全性,逻辑数据独立性(屏蔽真实表结构带来的影响)
1、根据信息对于基本表的创建
创建三个表,分别为表stu、表sign和表stu_mark,
分别来自河北和三栋的三个理科生报考了北京大学和清华大学。需要对考试结果进行查询和管理,清华大学的录取分数线725,北京大学为720。需要创建三个表对学生的信息进行管理,这三个表分别为学生表,报名表和成绩表。这三个表的主键(s_id)是统一的。
(1)表的结构信息
(2)插入数据
若其中的插入的数据出现错误,利用DELETE FROM 表名 WHERE 条件表达
先删除错误信息的记录
插入另外两张表中的数据
2、创建考上北京大学(Peking University)的学生视图
创建视图的语法格式
CREATE[OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPORY}]
VIEW view_name{[colum_list]}
AS SELECT_statement
[WITH [CASCADED|LOACAL|CHECK OPTION]]
查看视图三种方式
DESC 视图名;
SHOW TABLE STATUS LIKE ‘视图名’;
SHOW CREATE VIEW 视图名;
3、创建考上清华(Tsinghua University)的学生视图
同上;
4、更新视图qinghua
更新视图表是指通过视图来更新、插入、删除基本表中的数据
(1)UPDATE view_name SET 字段条件设置(基本表中字段);之后基本表中的数据也会发生变化
直接对基本表中的数据进行更新
(2)INSERT 语句向基本表中插入一条数据,但是不能向视图中插入数据
INSERT INTO 表名 VALUES(,);之后查看视图,SELECT * FROM 视图名;视图中的信息也相应增加信息
(3)DELETE FROM 视图名 WHERE 字段条件表达
对LiXiao的成绩在录入的时候多录了10分,需要根据视图对mark值进行去掉10分。
5、删除视图
DROP VIEW[IF EXIST]
视图名【,视图名2.。。】
【RESTRICT |CASCADE】