mysql_13_视图

 1 USE db_book;
 2 -- 第八章视图
 3 -- 第一节视图的引入
 4 -- 1.视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。
 5 -- 2.数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
 6 -- 3.使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。
 7 
 8 -- 第二节视图的作用
 9 -- 1.使操作简便化;
10 -- 2.增加数据的安全性;
11 -- 3.提高表的逻辑独立性;
12 
13 -- 第三节创建视图
14 -- CREATE [ALGORITHM ={ UNDEFIEND  MERGE  TEMPTABLE }]
15 --                 VIEW 视图名 [ ( 属性清单) ]
16 --                 AS SELECT 语句
17 --              [WITH [ CASCADED  LOCAL ] CHECK OPTION ];
18 -- ALGORITHM 是可选参数,表示视图选择的算法;
19 -- “视图名”参数表示要创建的视图的名称;
20 -- “属性清单”是可选参数,其指定了视图中各种属性的名词,默认情况下与 SELECT 语句中查询的属性相同;
21 -- SELECT 语句参数是一个完整的查询语句,标识从某个表查出某些满足条件的记录,将这些记录导入视图中;
22 -- WITH CHECK OPTION 是可选参数,表似乎更新视图时要保证在该视图的权限范围之内;
23 -- ALGORITHM 包括 3 个选项 UNDEFINED、MERGE 和 TEMPTABLE。其中,UNDEFINED 选项表示 MySQL 将
24 -- 自动选择所要使用的算法;MERGE 选项表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分
25 -- 取代语句的对应部分;TEMPTABLE 选项表示将视图的结果存入临时表,然后使用临时表执行语句;CASCADED
26 -- 是可选参数,表示更新视图时要满足所有相关视图和表的条件,该参数为默认值;LOCAL 表示更新视图时,要
27 -- 满足该视图本身的定义条件即可;
28 
29 -- 3.1 在单表上创建视图
30 CREATE VIEW v1 AS SELECT  FROM t_book;
31 CREATE VIEW v2 AS SELECT bookName,price FROM t_book;
32 CREATE VIEW v3(书名,价格) AS SELECT bookName,price FROM t_book;
33 
34 SELECT  FROM v1;
35 SELECT  FROM v2;
36 SELECT  FROM v3;
37 
38 -- 3.2 在多表上创建视图
39 CREATE VIEW v4 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;
40 CREATE VIEW v5(书名,图书类型) AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;
41 
42 SELECT  FROM v4;
43 SELECT  FROM v5;
44 
45 
46 -- 第四节查看视图
47 -- 4.1 DESCRIBE 语句查看视图基本信息
48 DESC v5;
49 
50 -- 4.2 SHOW TABLE STATUS 语句查看视图基本信息
51 SHOW TABLE STATUS LIKE 'v5';
52 SHOW TABLE STATUS LIKE 't_book';
53 
54 -- 4.3 SHOW CREATE VIEW 语句查看视图详细信息
55 SHOW CREATE VIEW v5;
56 
57 -- 4.4 在 views 表中查看视图详细信息
58 -- 在information_schema数据库中的VIEWS表中查看视图详细信息

 

posted @ 2017-08-03 00:17  鑫文飘雪  阅读(198)  评论(0编辑  收藏  举报