insert into view_04 values(8002 , 'MARK' , 'CLERK' , 7902 , '1998-12-12' , 1100 , 20 ,500 ) ;
查看真实emp表中是否添加这么一条数据:
select * from emp where empno =8002 ;
证明在视图进行insert操作是可以添加数据到真实表的。但一般来说,视图的表结构与视图的表结构可能不一样,若真实表中存在非空等约束,这通过视图的insert操作就回失败。所以,insert操作一般不会通过视图来进行。
(3)delete
通过视图删除刚创建的empno为8002的记录:
delete from view_04 where empno =8002 ;
查看真实表中数据是否删除:
select * from emp where empno =8002 ;
返回的是一个空表,证明真实表中的这条记录也已经被删除了。
最后总结一下视图的更新操作,当视图中包含如下内容时,视图的更新操作将不能被执行:
(1)视图中不包含真实表中被定义为非空的列(视图中没有,但真实表中为非空约束)。
(2)在定义视图的select语句后的字段列表中使用了数学表达式。
(3)在定义视图的select语句后的字段列表中使用了聚合函数。
(4)在定义视图的select语句中使用了distinct,union,top, group by,或having子句。
7 总结本文是对MySQL数据中视图的详细总结,包括了对视图概念、特性的介绍,然后通过实际示例展示了对视图的增删改查操作。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx