视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。
通过视图,可以展现基表(用来创建视图的表)的部分数据;视图数据来自定义视图的查询中使用的表,使用视图动态生成。
为什么要使用视图?因为视图的诸多优点,如下:
1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
3)数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率。
1) mysql>show table status where comment='view'(说明:Mysql5.1支持视图,视图被看作一种抽象表,因此显示视图状态的语句与显示表状态的语句相同,只是在comment列中以‘view’区分)
2) mysql>select * from information_schema.tables where table_schema='yourDatabaseName' and table_type='view'
(说明:这种方法通过系统表查找,效果同上,显示信息更详细。如果不能正确显示结果,可能是大小写的问题,Mysql在不同系统平台不同配置参数下的显示结果可能不同,注意这点。)
为了不影响其他的数据库表,新建一张数据库表t_worker_info,代码如下:create table t_worker_info(
id int(8) primary key not null auto_increment,
w_id int(10) not null,
w_name varchar(20) not null,
w_age int(3),
w_sex varchar(10),
w_birth varchar(20)
)
如下图所示:
创建t_worker_info后,查看一下数据结构,代码如下:
desc t_worker_info
如下图所示:
双击选中的数据库,在Views鼠标右键“Create View...”,打开编辑窗口,并在窗口中输入代码,代码如下:
CREATE VIEW `view_worker_info` AS
SELECT * FROM t_worker_info
如下图所示:
查看创建视图的基本信息,利用desc或describe语句,代码如下:
desc view_worker_info
如下图所示:
查看视图信息,如存储引擎、数据长度等,如果上述指标都为null,说明视图是虚表,代码如下:
show table status like 'view_worker_info'
如下图所示:
6
查看创建视图的详细信息,需要用到show create view 视图名,代码如下:
show create view view_worker_info
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)