mysql视图的基本操作

1. 创建视图

CREATE VIEW 视图名 AS 查询语句 [WITH CHECK OPTION]
- 这里WITH CHECK OPTION约束是要求插入或者更新要满足查询语句where后面的条件

   CREATE VIEW test AS SELECT * FROM test_db WHERE 查询条件  WITH CHECK OPTION

 这个test视图在插入数据或者更新数据时便要求满足查询条件的记录才能插入

2. 删除视图

DROP VIEW [IF EXIST] 视图名 [视图名] ...
3. 视图的更新的限制

- 主键和所有NULL列如果没有出现在视图中,视图不允许更新
- 子查询中如果出现分组查询,聚合函数,那就不允许更新
- 更新时必须满足查询本来数据表中的约束,不满足约束的更新或者插入都是不允许的
- 在创建视图时使用WITH CHECK OPTION选项的话,那么在插入时必须满足查询的条件才允许插入数据

这个是在mysql中的结果
- 创建一个视图,后面where跟随一个查询条件,WITH CHECK OPTION要求插入该视图的数据必须满足该查询条件
mysql> create view author_test AS SELECT id,name,address FROM author where id = 32 WITH CHECK OPTION;
Query OK, 0 rows affected (0.01 sec)
- 这个是插入数据的结果
mysql> insert into author_test values(12,'gafv','gfgd');
1369 - CHECK OPTION failed 'mysql.author_test'
4. 查看视图

show table status where comment = 'view';
SHOW FULL TABLES WHERE Table_type = 'VIEW'

posted @   菜鸟额  阅读(1967)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示