数据库视图、索引、存储过程、触发器

一、视图(view)

视图是从一个或几个基本表(或视图)导出的表。是一个虚表。数据库中只存放视图的定义,而视图对应的数据仍存放在原来的基本表中。所以,一旦基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。视图一经定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新(增、删、改)操作则有一定的限制。

1、定义视图

⑴、建立视图

create view<视图名>[(<列名>[,列名]…)]

as<子查询>

[with check option];

⑵、删除视图

drop view<视图>[cascade]

2、查询视图

create view<视图名>(<列名>[,列名]…)

扫描二维码关注公众号,回复: 7266260 查看本文章

from 表

where 条件;

3、更新视图

       更新视图是指通过视图来插入(insert)、删除(delete)和修改(update)数据。

      由于识图是不实际存储数据的虚表,因此对视图的更新最终要转换为对基本表的更新。为防止用户通过视图对数据进行增加、删除、修改时,有意无意地对不属于视图范围内的基本表数据进行操作,可在定义视图时加上with check option字句。

一般地,行列子集视图是可更新的,除行列子集视图外,有些视图理论上是可更新的,但尚待研究。还有些视图从理论上就是不可更新的。

4、视图的作用

⑴、试图能够简化用户的操作

⑵、使用户能以多种角度看待同一数据

⑶、对重构数据库提功了一定程度的逻辑独立性

⑷、视图能够对机密数据提供安全保护

⑸、适当利用视图可以更清晰地表达查询

二、索引(index)

创建 create

删除 drop

修改 alter

三、存储过程

 事先经过编译并存储在数据库中的一段sql语句集合,可以简化应用开发人员好多工作,减少数据在数据库与应用服务器中的传输,提高数据处理的效率。存储过程没有返回值。

四、触发器

 mysql数据库对同一个表相同时间的相同触发事件只能定义一个触发器。用别名new和old来引用触发器中发生变化的记录内容。

猜你喜欢

转载自www.cnblogs.com/jxyshuju/p/11515294.html