建立视图实发工资mysql_MYSQL人事工资管理系统--设计视图(四)

什么是视图?

视图(view)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

视图相对普通的表的优势主要包括一下几项:

(1)简单:使用视图的用户完全不需要关心后面对应的表结构、关联条件和筛选条件,对用户来说已经是过滤好的符合条件的结果集。

(2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。

(3)数据独立:一旦视图的结构确定的,可以屏蔽不表结构的变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

视图操作

视图的操作包括创建或者修改视图、删除视图,以及查看视图定义。

创建或者修改视图

创建视图需要有CREATE VIEW的权限,并且对于查询涉及的列有SELECT权限。如果使用CREATE OR REPLACE或者ALTER修改视图,那么还需要该视图的DROP权限

创建视图的语法为:

CREATE [OR REPLACE] [ALGORITHM  = {UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED|LOCAL] CHECK OPTION]

修改视图的语法为:

ALTER [ALGORITHM ={UNDEFINED|MERGE|TEMPTABLE}]

VIEW view_name [(column_list)] AS select_statement [WITH [CASCADED|LOCAL] CHECK OPTION]

MYSQL视图的定义有一些限制,例如,在FROM关键字后面不能包含子查询,这和其他数据库是不同的,如果视图是从其他数据库迁移过来的,那么可能需要因此做一些改动,可以将子查询的内容先定义成一个视图,然后对该视图在创建视图就可以实现类似的功能了。

视图的可更新性和视图中查询的定义有关系,以下类型的视图是不可更新的。

(1)包含以下关键字的SQL语句:聚合函数(SUM、MIN、MAX、COUNT等) DISTINCT、GROUP BY 、H

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值