- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL开发和 与实践 第7章 视图.ppt
;;7.1 视图概述;7.1.1 视图的概念; 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。下面将视图的作用归纳为如下几点:
1.简单性
看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
2.安全性
视图的安全性可以防止未授权用户查看特定的行或列,权限用户只能看到表中特定行的方法如下:
(1)在表中增加一个标志用户名的列;
(2)建立视图,是用户只能看到标有自己用户名的行;
(3)把视图授权给其他用户。; 创建视图需要具有CREATE VIEW的权限。同时应该具有查询涉及的列的SELECT权限。可以使用SELECT语句来查询这些权限信息,查询语法如下:
SELECT Selete_priv,Create_view_priv FROM mysql.user WHERE user=用户名;
Selete_priv属性表示用户是否具有SELECT权限,Y表示拥有SELECT权限,N表示没有;
Create_view_priv属性表示用户是否具有CREATE VIEW权限;mysql.user表示MySQL数据库下面的user表;
“用户名”参数表示要查询是否拥有DROP权限的用户,该参数需要用单引号引起来。;【例7-1】 下面查询MySQL中root用户是否具有创建视图的权限,代码如下:
SELECT Selete_priv,Create_view_priv FROM mysql.user WHERE user=root;
执行结果如图7-1所示。
图7-1 查看用户是否具有创建视图的权限
结果中“Select_priv”和“Create_view_priv”属性的值都为Y,这表示root用户具有SELECT和CREATE VIEW权限。;;【例7-2】 在tb_book数据表中创建view1视图,视图命名为book_view1,并设置视图属性分别为a_sort、a_talk、a_books,代码如下:
CREATE VIEW
book_view1(a_sort,a_talk,a_books)
AS SELECT sort,talk,books
FROM tb_book;
执行结果如图7-2所示。
图7-2 创建视图book_view1
如果要在tb_book表和tb_user表上创建名为book_view1的视图,执行代码如下:
CREATE ALGORITHM=MERGE VIEW
book_view1(a_sort,a_talk,a_books,a_name)
AS SELECT sort,talk,books,tb_user.name
FROM tb_book,tb_name WHERE tb_book.id=tb_name.id
WITH LOCAL CHECK OPTION;
建议读者自己上机实践一下,这样会加深记忆。;创建视图时需要注意以下几点:
(1)运行创建视图的语句需要用户具有创建视图(create view)的权限,若加了[or replace]时,还需要用户具有删除视图(drop view)的权限;
(2)select语句不能包含from子句中的子查询;
(3)select语句不能引用系统或用户变量;
(4)select语句不能引用预处理语句参数;
(5)在存储子程序内,定义不能引用子程序参数或局部变量;
(6)在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用check table语句;
(7)在定义中不能引用temporary表,不能创建temporary视图;
(8)在视图定义中命名的表必须已存在;
(9)不能将触发程序与视图关联在一起;
(10)在视图定义中允许使用order by,但是,如果从特定视图进行了选择,而该视图使用了具有自己order by的语句,它将被忽略。;7.3 视图操作; 查看视图是指查看数据库中已存在的视图。查看视图必须要有SHOW VIEW的权限。查看视图的方法主要包括DESCRIBE语句、SHOW TABLE STATUS语句、SHOW CREATE VIEW语句等。本节将主要介绍这几种查看视图的方法。
1.DESCRIBE语句
DESCRIBE可以缩写成DESC,DESC语句的格式如下:
DESCRIBE 视图名;
下面使用DESC语句查询book_view1视图中的结构,结果如图7-3所示。
图7-3 使用D
您可能关注的文档
- Java程序的设计与实践第九章 输入输出流.ppt
- Java程序的设计与实践第二章 Java基础.ppt
- Java程序的设计与实践第五章 抽象类、接口与内部类.ppt
- Java程序的设计与实践第八章 异常处理机制.ppt
- Java程序的设计与实践第六章 多态.ppt
- Java程序的设计与实践第十一章 多线程.ppt
- Java程序的设计与实践第十二章 Java数据库编程.ppt
- Java程序的设计与实践第四章 继承.ppt
- Java程序的设计基础第10章 多线程编程.ppt
- Java程序的设计基础第11章 Java网络编程.ppt
- T_CHSA 009—2022_恒牙外伤牙固定术技术专家共识.pdf
- T_CNFPIA 3024—2022_木醋液_团体标准.pdf
- T_CPPIA 12-2021_农用棚膜接触含硫、氯农药影响耐候性的判定.pdf
- T_SDHTS 00008—2025(高速公路改扩建工程沥青路面施工技术规范).pdf
- T_CPASEMT 012—2021_桥门式起重机金属结构裂纹损伤压电阻抗监测方法.pdf
- T_CEEIA 571—2022_电气装置接地用缓释型膏状石墨降阻材料技术条件.pdf
- T_SPSTS 017-2021_锂离子电池导电连接用复合金属带材.pdf
- T_CASMES 56—2022_不动产权证书自助打印终端.pdf
- T_ZAEPI 041—2025(生物多样性友好乡镇建设导则).pdf
- T_CMSA 0027—2022_区域陆地碳汇评估技术指南.pdf
最近下载
- 四川省(蓉城名校联盟)新高考2022级高三适应性考试数学试卷(含答案).pdf
- 水利监理质量控制体系.doc
- [五年级英语下册.doc VIP
- 《江西省宜春市明月山机场航站楼装修工程》投标技术标文件.doc
- GB_T 15114-2023 铝合金压铸件.docx
- 2021年第四期1+X建筑信息模型(BIM)职业技能初级实操题(三).pdf VIP
- 【最全】usedtodo,beusedtodoing用法辨析及练习(带答案).pdf VIP
- 财务报表审计模拟实训第六版刘雪清答案.pdf
- 广东省广州市天河区2020-2021学年八年级下学期期末考试英语试题(word版 含答案).docx VIP
- 招投标法律法规学习培训PPT.pptx VIP
文档评论(0)