博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
视图的创建、查询与更新
阅读量:4880 次
发布时间:2019-06-11

本文共 975 字,大约阅读时间需要 3 分钟。

 

视图定义: create view 
<视图名>
[
<列名>
,
<列名>
...] as
<子查询>
[with check option]; 其中[
<列名>
...]部分不设置,则使用子查询中的列名; 子查询可以式任意的select语句。 with check option表示对视图进行update,insert,delete时要保证行满足视图定义中的谓词条件(即子查询中的条件表达式);
    
视图删除: drop view 
<视图名>
[cascade]; cascade表示级联删除由它导出的所以视图。
视图查询: 视图就相当于一个虚拟表,所以所有对基本表的查询语句,对视图也同样适用。这里不在详述,可见 .
视图更新:sqlite不支持对视图的更新,下面的部分在mysql中适用 对视图的更新最终会转换成对基本表的更新。 可用操作有update,insert,delete,用法之前也讲过。 这里只讨论细节问题。 如果创建视图时加上了with check option,则使用update和delete时会在where部分加上子查询的条件表达式。 例如: create view viewTest as select * from test where id<3 with check option;  子查询中的条件表达式是id<3 update viewTest set name='hello' where name='world';  对视图进行update操作 相当于 update test set name='hello' where name='world' and id<3;  id<3被加到where部分。 insert操作时,因为视图不一定包含基本表中的所有列,所以,最终插入到基本表时,没有涉及到的列会被设为默认值。
    
上篇:                                  下篇:

转载于:https://www.cnblogs.com/apsycho/p/10874712.html

你可能感兴趣的文章
定位页面元素的位置
查看>>
关于IAsyncResult接口的CompletedSynchronously属性
查看>>
Python:一篇文章掌握Numpy的基本用法
查看>>
序列化与ArrayList 的elementData的修饰关键字transient
查看>>
学习进度17
查看>>
编译原理——算符优先分析文法(附源代码)
查看>>
jboss的启动过程
查看>>
渲染部分
查看>>
力扣——所有可能的路径
查看>>
关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别
查看>>
解密module_init幕后的故事
查看>>
9个移动网站优化的最佳实践
查看>>
李昌镐:苍老的青春(转载) 韩国围棋职业棋手
查看>>
JPA 使用报Named query not found错误
查看>>
FTP命令使用详解
查看>>
walmart weekly sales
查看>>
面试题07_用两个栈实现队列——剑指offer系列
查看>>
cocos2d-x3.2中加入Android手机震动
查看>>
css3处理sprite背景图压缩来解决H5网页在手机浏览器下图标模糊的问题
查看>>
温故而知新练习3
查看>>