1. 修改、查询、删除记录时都会提示多少条记录被影响,但建表不会提示。当表的数据修改后反映到视图。
修改、查询、删除视图的命令跟建表时的一样。
视图是从一个或多个表(或视图)导出的表。视图是数据库的用户使用数据库的观点。可以根据他们的不同需求,在物理的数据库上定义他们对数据库所要求的数据结构,这种根据用户观点所定义的数据结构就是视图。
视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
视图一经定义以后,就可以像表一样被查询、修改、删除和更新。2.使用视图有下列优点:
(1)为用户集中数据,简化用户的数据查询和处理。有时用户所需要的数据分散在多个表中,定义视图可将它们集中在一起,从而方便用户的数据查询和处理。 www.2cto.com
(2)屏蔽数据库的复杂性。用户不必了解复杂的数据库中的表结构,并且数据库表的更改也不影响用户对数据库的使用。
(3)简化用户权限的管理。只需授予用户使用视图的权限,而不必指定用户只能使用表的特定列,也增加了安全性。
(4)便于数据共享。各用户不必都定义和存储自己所需的数据,可共享数据库的数据,这样同样的数据只需存储一次。
(5)可以重新组织数据以便输出到其他应用程序中。
3. 使用create view语句创建视图
语法格式:
CREATE [re replace] [algorithm = {undefined | merge | temptable}] view 视图名[(column_list)]
as select_statement [with [cascaded| local] check option]
例:create view v_xs
as select *from xs;(在xsdb库下创建)
|xsdb.xs(在飞xsdb库下建xsdb里的表的视图)
说明:
● column_list:要想为视图的列定义明确的名称,可使用可选的column_list子句,列出由逗号隔开的列名。column_list中的名称数目必须等于SELECT语句检索的列数。若使用与源表或视图中相同的列名时可以省略column_list。 www.2cto.com
● or replace:给定了OR REPLACE子句,语句能够替换已有的同名视图。
● algorithm子句:可选的ALGORITHM子句是对标准SQL的MySQL扩展&