MySQL 视图

1、视图概述

视图是从一个或多个表中导出来的表,它是一种虚拟存在的表,并且表的结构和数据都依赖于基本表。通过视图不仅可以看到存放在基本表中的数据,并且还可以像操作基本表一样,对视图中存放的数据进行查询、修改和删除。
视图的优点:简化查询语句、安全性、逻辑数据独立性。

2、视图管理

2.1 创建视图的语法格式

使用 create view 语句,其基本语法格式如下:

create [or replace] [algorithm = {undefined | merge | temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded | local] check option];

(1)create:表示创建视图的关键字,上述语句能创建新的视图。
(2)or replace:如果给定了此子句,表示该语句能够替换已有的视图。
(3)algorithm:可选,表示视图选择的算法。
(4)undefined:表示 MySQL 将自动选择所要使用的算法。
(5)merge:表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。
(6)temptable:表示将视图的结果存入临时表,然后使用临时表执行语句。
(7) view_name:表示要创建的视图名称。
(8)column_list:可选,表示属性清单,指定了视图中各个属性的名,默认情况下,与 select 语句中查询的属性相同。
(9)as:表示指定视图要执行的操作。
(10)select_statement:是一个完整的查询语句,表示从某个表或视图中查出某些满足条件的记录,将这些记录导入视图中。
(11)with check option:可选,表示创建视图时要保证在该视图的权限范围之内。
(12)cascaded:可选,表示创建视图时,需要满足跟该视图有关的所有相关视图和表的条件,该参数为默认值。
(13)local:可选,表示创建视图时,只要满足该视图本身定义的条件即可。

2、查看视图

查看视图是指查看数据库中已存在的视图的定义,查看视图必须要有 show view 的权限。

(1)describe 视图名; 或简写为 desc 视图名;可以查看视图的字段信息,其中包含字段名、字段类型等信息。

(2)show table status like '视图名'\G可以查看视图的基本信息。

(3)show create view 视图名;可以查看创建视图时的定义语句和视图的字符编码。

3、修改视图

(1)使用 create or replace view 语句修改视图
基本语法格式:

create [or replace] [algorithm = {undefined | merge | temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded | local] check option];

在使用 create or replace view 语句修改视图时,如果修改的视图存在,那么将使用修改语句对视图进行修改,如果视图不存在,那么将创建一个视图。

(2)使用 alter 语句修改视图
基本语法格式:

alter [algorithm = {undefined | merge | temptable}]
view view_name[(column_list)]
as select_statement
[with [cascaded | local] check option];

4、更新视图

更新视图是指通过视图来更新、插入、删除基本表中的数据。

(1)使用 update 语句更新视图
在 MySQL 中,可以使用 update 语句对视图中原有的数据进行更新。
例如:update view_stu set chinese = 50;

(2)使用 insert 语句更新视图
在 MySQL 中,可以使用 insert 语句向表中插入一条记录。
例如:insert into student values(1,'lily',90,80);

(3)使用 delect 语句更新视图
在 MySQL 中,可以使用 delect 语句删除视图中的部分记录。
例如:delect from view_stu where math = 80;

5、删除视图

删除视图时,只能删除视图的定义,不会删除数据。删除一个或多个视图可以使用 drop view 语句。
基本语法格式;

drop view [if exists]
	view_name[,view_name1]···
	[restrict | cascade];
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值