------------恢复内容开始------------
3.5.2 删除语句,delete
删除为空的记录 delete from sc where GRAED is null 注: is null 是为空的意思。
3.53 update 更新语句(修改记录)
3.6 SQL视图
3.6.1 普通视图
视图:是由其他的视图或基表导出的子虚表。它不是一个存在数据库中的表,而是在数据目录中保留其逻辑定义。
当视图参与数据库操作时,可通过修改查询条件,把对视图的查询转换为对基表的查询。对视图操作可以像对基表操作。
定义:
1.用户经常要用到的一些数据;
2.用户经常要查询的内容;
注意:视图对应的内容总是实时,最新的内容,并不是定义时的内容。所以视图是实时变化的。下面是视图的定义和撤销:
创建视图:create view 表名 as 查询条件;
注:视图的更新则最终落实到有关基表的更新。通常情况下,由连接定义的视图是不可更新的。但如果连接定义的视图所涉及到几个基表的主键都在的话是可以更新的。此外视图更新还会存在一些问题。
所以要对视图进行限制;
- 由一个基表定义的视图,只含有基表的主键或后补键,并且视图中没有用表达式或函数定义的属性才允许更新。
- 由多表连接所定义的视图不允许更新
- 定义中用到GROUP BY 子句或聚集函数的视图不允许更新。
视图的优点:
* 逻辑数据性独立。在数据的整体结构或者存储结构发生改变,并且这些改变与用户无关,那么原有应用程序不必修改。
+ 简化了用户观点。 数据库结构是很复杂的关系。一般用户只用到了其中的一部分,而试图机制正好满足了用户的这个需求。视图是一个select语句定义的,用户只需要关心视图的内容。
- 数据的安全保护功能。在数据库中有些数据是保密的,
3.6.2 临时视图和递归查询
在复杂的查询中,将查询中相对独立部分作为查询的中间结果,定义临时视图。
与普通视图的区别是:有临时性,定义不同 :caeate view 普通视图 临时视图是:with 开头。
递归查询:演绎数据库提供递归查询功能
------------恢复内容结束------------