赞
踩
目录
视图是一张并不存储数据的虚拟表,其本质是根据 SQL 语句动态查询数据库中的数据。数据库中只存放了视图的定义,通过 SQL 语句使用视图时,会根据视图的定义进行查询。 优点:
缺点:
注:关于在实际开发中是否应该使用视图,大家各执一词。随着 MySQL 8.0 版本的视图有了较大的提升,这个话题又引起讨论。非必要不使用,谨慎使用。 |
MySQL 提供了两种视图算法:MERGE 算法和 TEMPTABLE 算法
不能使用 MERGE 算法的情况:
注:对于应该使用 TEMPTABLE 算法却使用 MERGE 算法的视图,MySQL 将生成警告,并将算法设置为 UNDEFINED ( MySQL 会从 MERGE 算法和 TEMPTABLE 算法中选择适合的算法) |
提示:客户端输入 SQL 语句字符串 -> 解析器进行解析(获得用户输入的 SQL 语句,query SQL ) -> 获得视图定义(创建视图时使用的 查询 SQL语句,view SQL)-> 优化组合 query SQL 语句和 view SQL 语句 -> 在基表上执行组合后的 SQL 语句 -> 返回查询结果
创建视图常用代码格式
goods 表 创建视图 g_view 并查询视图数据 可更新视图(可以使用 insert、update、delete)
不是可更新视图的情况:
对插入可更新视图数据进行检验 (with cascaded | local check option)
|
显示表或视图的类型(base table 表示基表,view 表示视图) 显示视图的结构 查看视图列信息 |
使用 alter 修改视图 (和创建一个新的视图没什么区别,只是将 create 换成了 alter) 使用 create or replace 修改视图(实际是创建一个同名的新视图替换旧视图) 使用 rename 重命名视图 |
|
MySQL视图https://www.zutuanxue.com/home/4/8_341MySQL 8.0 中文文档 第22章:视图 / 22.2. CREATE VIEW语法https://www.mysqlzh.com/doc/185.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。