- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL视图、索引及其应用
项目5 MySQL视图、索引及其应用;1、项目描述;2、任务解析;3、相关知识与实例; MySQL5.x实现了视图功能(包括可更新视图),且MySQL5.x及以上版本提供了二进制版的视图功能。MySQL视图(View允许用户像单个表那样访问一组关系(表),而且仅允许对它们的这类访问,也能限制对行的访问(特定表的子集)。对于列控制的访问,可使用MySQL服务器中的高级权限系统。
与直接从数据库表中提取数据相比,视图的特点如下:
(1)使操作变得简单
(2)避免数据冗余
(3)增强数据安全性
(4)提高数据的逻辑独立性
; 视图在以下两个方面使应用程序和数据逻辑独立:
?使用视图可以向应用程序屏蔽表结构,此时即使表结构发生变化(例如表的字段名发生变化),只需重新定义视图或者修改视图的定义,无需修改应用程序即可使应用程序正常运行。
?使用视图可以向数据库表屏蔽应用程序,此时即使应用程序发生变化,只需重新定义视图或者修改视图的定义,无需修改数据库表结构可使应用程序正常运行。;在视图定义中允许使用ORDER BY,但是,如果从特定视图进行了选择,而该视图使用了具有自己ORDER BY的语句,则视图定义中的ORDER BY将被忽略。
?对于SELECT语句中的其他选项或子句,若视图中也包含了这些选项,则效果未定义。例如,如果在视图定义中包含LIMIT子句,而SELECT语句使用了自己的LIMIT子句,MySQL对使用哪个LIMIT未做定义。;② 创建视图
创建视图需要有CREATE VIEW的权限,并且对于查询涉及的列有SELECT权限。
视图中包含了SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。
创建视图的语法格式:
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION];参数说明:
view_name:视图名。
column_list:要想为视图的列定义明确的名称,可使用可选的column_list子句,列出由逗号隔开的列名。column_list中的名称数目必须等于SELECT语句检索的列数。若使用与源表或视图中相同的列名时可以省略column_list。
OR REPLACE:给定了OR REPLACE子句,语句能够替换已有的同名视图。
ALGORITHM子句:可选的ALGORITHM子句是对标准SQL的MySQL扩展,规定了MySQL的算法,算法会影响MySQL处理视图的方式。ALGORITHM可取3个值:MERGE、TEMPTABLE或UNDEFINED。;select_statement:用来创建视图的SELECT语句,可在SELECT语句中查询多个表或视图。
但对SELECT语句有以下的限制:
?定义视图的用户必须对所参照的表或视图有查询(即可执行SELECT语句)权限;
?不能包含FROM子句中的子查询;
?不能引用系统或用户变量;
?不能引用预处理语句参数;
?在定义中引用的表或视图必须存在;
?若引用不是当前数据库的表或视图时,要在表或视图前加上数据库的名称;
?; WITH CHECK OPTION:指出在可更新视图上所进行的修改都要符合select_statement所指定的限制条件,这样可以确保数据修改后,仍可通过视图看到修改的数据。
创建视图的指导原则:
?只能在当前数据库中创建视图
?视图名称应与表名近似
?视图名称应遵循标识符的命名规则
?可以基于其他视图建立视图
?不能将默认值、规则和触发器与视图相关联
?;不能为视图建立索引
?创建视图时不能使用临时表。
?即使表被删除,视图定义仍将保留。
?定义视图的查询不能包含以下语句:ORDER BY (加top)、COMPUTE 子句、COMPUTE BY 子句、INTO 关键字。
;
【例5.1】 假设当前数据库是xsks,创建xsks数据库上的视图xsks_st1,包括计算机专业各学生的准考证号、姓名、考场号、考试时间。要保证对该视图的修改都要符合专业名为计算机这个条件。
CREATE OR REPLACE VIEW xsks.xsks_st1
AS
SELECT student.zkzh,student.name,testid,testtime
您可能关注的文档
- LED芯片简述.doc
- Lecture2.1信号系统考研辅导.ppt
- Leona非限定性定语从句修订版.ppt
- Lesson 8 张家界2016.ppt
- KX_CH1篇变压器BBB.ppt
- LED灯的推广与销售.ppt
- Lighroom快速编辑人像照片及PS和LR的色差问题.docx
- Lingo教程四 LINGO的函数.doc
- lianshui从杂交育种到基因工程.ppt
- LINGO编程6.ppt
- (2025)吊车司机安全培训考试试题及参考答案.pptx
- (2025)吊车司机安全培训考试题库及参考答案.pptx
- 2025年河南司法警官职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- (2025)度继续教育公需科目考试试题及参考答案(满分版).pptx
- (2025)度全国安全生产月知识竞赛题库及参考答案.pptx
- (2025)儿科出科题库及参考答案.pptx
- (2025)二级建造师工程法规考试题及参考答案.pptx
- (2025)二级建造师工程法规考试题库及参考答案.pptx
- 2025年河南地矿职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- (2025)二级建造师工程法规题库及参考答案.pptx
文档评论(0)