- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL视图view/存储过程和函数的使⽤
**************************************
MySql视图view的使⽤:创建、修改、删除
***************************************
1. MySql创建视图
创建视图与创建表语法类似,不同的是创建视图是从⼀条查询语句创建的。视图创建后,可以像⼀张表⼀样使⽤,但只能⽤于数据查询,如:可以在⼀个查询中使⽤、可以在存储过程
中、可以在另⼀个视图中使⽤。MySql创建视图语法如下:
CREATE VIEW 视图名 AS SELECT 查询语句;
2. MySql视图修改
已经创建的视图,有时会需要修改其查询字段或查询条件,MySql视图修改语法如下:
ALTER VIEW 视图名 AS SELECT 查询语句;
3. MySql视图删除
MySql视图删除语法与删除表DROP TABLE类型,语法如下:
DROP VIEW 视图名;
3. MySql视图使⽤
创建好视图之后,可以直接通过视图名使⽤视图,语法如下:
SELECT * FROM 视图名
***************************************
CREATE VIEW语句简介
***************************************
要在MySQL中创建新视图,请使⽤CREATE VIEW语句。在MySQL中创建视图的语法如下:
让我们更详细地查看了解以上语法。
视图处理算法
算法属性允许您控制MySQL在创建视图时使⽤的机制。MySQL提供三种算法:MERGE,TEMP TABLE和UNDEFINED。
使⽤MERGE算法,MySQL⾸先将输⼊查询与定义视图的语句组合成单个查询。然后MySQL执⾏组合查询以返回结果集。如果SELECT语句包含聚合函数,如:MIN, MAX, SUM,
COUNT, AVG或DISTINCT, GROUP BY, HAVING, LIMIT, UNION, UNION ALL,等等则不允许MERGE算法。如果SELECT语句没有引⽤表,则也不允许MERGE算法。如果不允
许MERGE算法,MySQL将算法更改为UNDEFINED。注意,输⼊查询和视图定义中的查询到⼀个查询的组合被称为视图决议。
使⽤TEMP TABLE算法,MySQL⾸先根据定义视图的SELECT语句创建⼀个,然后对该临时表执⾏输⼊查询。因为MySQL必须创建⼀个临时表来存储结果集,并将数据从基表移
动到临时表,TEMP TABLE算法的效率低于MERGE算法。此外,使⽤TEMP TABLE算法的视图不可。
UNDEFINED是创建视图时未指定显式算法的默认算法。UNDEFINED算法让MySQL做出选择使⽤MERGE或TEMP TABLE算法。MySQL优先选择MERGE算法再到TEMP TABLE算
法,因为MERGE算法更有效率。
视图名称
在数据库中,视图和表共享相同命名空间,因此,视图和表不能具有相同的名称。此外,视图的名称必须遵循表命名规则。
SELECT语句
在SELECT语句中,可以从数据库中存在的任何表或视图查询数据。SELECT语句必须遵循⼏个规则:
SELECT语句可以在中包含,但不能在FROM⼦句中。
SELECT语句不能引⽤任何,包括局部变量,⽤户变量和会话变量。
SELECT语句不能引⽤的参数。
注意,SELECT语句不需要引⽤任何表。
**********************************************
Mysql中创建存储过程和函数的语法
**********************************************
mysql中存储过程和函数的语法⾮常接近所以就放在⼀起,主要区别就是函数必须有返回值,并且函数的参数只有IN类型⽽存储过程有IN、OUT、INOUT这三种类型。
例⼦:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#创建数据库
DROP DATABASE IF EXISTS Dpro;
CREATE DATABASE Dpro
CHARACTER SET utf8
;
USE Dpro;
#创建部门表
DROP TABLE IF EXISTS Employee;
原创力文档


文档评论(0)