Mysql学习笔记六,视图
2015-12-02 10:58
525 查看
视图的概念
不再数据库中实际存在。行和列来自于实际的表,在使用视图的时候动态生成。
视图的优势:
1 简单: 视图一般是筛选好的数据的结果集。
2 安全: 视图已经做好结果集的筛选,可以防止用户访问到系统不希望他访问的数据。
3 数据独立:一旦视图结构确定, 表结构的变化对视图的影响有限。
创建和修改视图
? create view; --创建视图的语法
Mysql的视图有一些限制: from 关键字后面不能包含子查询,这和其他数据库不同。 可以将子查询做成一个视图, 然后再创建你需要的视图,来解决这个问题。
视图的可更新性和视图的定义有关,以下类型的视图是不可更新的:
1 包含下面关键字的SQL语句:聚合函数(SUM、MIN、MAX、COUNT等)、DISTINCT、GROUPBY、HAVING、UNION或者UNION ALL。
2 常量视图。
create or replace view pi as select 3.1415926 as pi; --常量视图
3 select 中包含子查询。
4 join。
5 from 一个不能更新的视图。
6 where 字句的子查询引用了from字句中的表。
WITH [CASCADED | LOCAL] CHECK OPTION 决定了是否允许更新数据使记录不再满
足视图的条件:
1 LOCAL 是只要满足本视图的条件就可以更新
2 CASCADED 则是必须满足所有针对该视图的所有视图的条件才可以更新
删除视图
用户可以一次删除一个或者多个视图,前提是必须有该视图的 DROP 权限drop view if exists view1,view2; --删除视图view1,view2
查看视图
show tables;-- 查看视图列表 show table status;--查看视图状态 show create view;--查看视图创建语句
相关文章推荐
- 查询MySQL数据占用情况
- MySql数据库设计的8种优化方法
- pt-table-sync修复mysql不一致数据
- mysql之触发器trigger
- mysql 安装脚本
- 常用Mysql命令
- pt-table-checksum校验mysql数据一致性
- mysql 虚拟列
- mysql线上安装部署
- mysql 一条sql完成saveOrUpdate 存在即更新
- MySQL5.5不支持partition查找
- Mysql 初学常见命令
- Mysql 分区 分表相关总结之方案选择
- [实战]MVC5+EF6+MySql企业网盘实战(18)——文件上传,下载,修改
- MySQL如何记录binlog(转)
- Mysql中文乱码,修改字符集
- Mysql几种索引类型的区别及适用情况
- 删除mysql服务
- mysql更改root密码
- mysql学习(1)