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 @ 2019-12-11 12:52  菜鸟额  阅读(1941)  评论(0编辑  收藏  举报