视图的引入
1,视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。
2,数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
3,使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。
视图的作用
1,使操作简便化;
2,增加数据的安全性;
3,提高表的逻辑独立性;
创建视图
{ CREATE|REPLACE } [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [{column_list}]
AS SELECT 语句
[WITH [CASCADED | LOCAL |] CHECK OPTION]
释义:
CREATE|REPLACE : 【创建|替换已创建的】视图
ALGORITHM : 视图算法
UNDEFINED 系统自动选择算法2.MERGE使用的视图语句与视图定义合并起来3.TEMPTABLE 结果存入临时表,然后用临时表执行语句view_name : 视图名称
column_list : 属性列
SELECT_STATEMENT :SELECT语句
[WITH [CASCADED | LOCAL |] CHECK OPTION] 表示视图在更新时保证在视图的权限范围内
CASCADED 默认值 更新视图时要满足所有相关视图和表的条件,2.LOCAL表示更新视图时满足该视图本身定义的条件即可。
在单表上创建视图
CREATE VIEW v1 AS SELECT * FROM t_book; CREATE VIEW v2 AS SELECT bookName,price FROM t_book;
CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;
CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;
在多表上创建视图
CREATE VIEW v3(b,p) AS SELECT bookName,price FROM t_book;
查看视图
DESCRIBE 语句查看视图基本信息
DESC v5;
SHOW TABLE STATUS语句查看视图基本信息
SHOW TABLE STATUS LIKE 'v5'; SHOW TABLE STATUS LIKE 't_book';
SHOW CREATE VIEW 语句查看视图详细信息
show CREATE VIEW v1
修改视图
ALTER VIEW AS 视图名 SELETE 语句...
ALTER view v1 as SELECT * from t_book where id > 23
更新视图
修改视图的语句和创建视图的语句完全一样。当视图存在时,修改语句对视图进行修改;当视图不存在时,创建视图。
删除视图
DROP VIEW <视图名1> [ , <视图名2> …]
DROP VIEW <视图名1> [ , <视图名2> …]
CREATE VIEW v1 AS SELECT * FROM t_book; CREATE VIEW v2 AS SELECT bookName,price FROM t_book;
CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;
CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;