我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL | 视图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL | 视图

目录

一、创建视图

1.1 在单表上创建视图

1.2 在多表上创建视图

二、查看视图

2.1 使用DESCRIBE语句查看视图基本信息

2.2 使用SHOW TABLE STATUS语句查看视图基本信息

2.3 使用SHOW CREATE VIEW语句查看视图详细信息

2.4 在views表中查看视图详细信息

三、修改视图

3.1 使用CREATE OR REPLACE VIEW语句修改视图

3.2 使用ALTER语句修改视图

四、更新视图

五、删除视图


数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据来自由定义视图查询所引用的表,并且在引用视图时动态生成。

一、创建视图

1.1 在单表上创建视图

MySQL可以在单个数据表上创建视图。

CREATE VIEW view_t AS SELECT quantity,price,quantity*price FROM t;

默认情况下创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。

CREATE VIEW view_t2 (qty,price,total) AS SELECT quantity,price,quantity*price FROM t;

1.2 在多表上创建视图

MySQL也可以在两个或者两个以上的表上创建视图,可以使用CREATE VIEW语句实现。

CREATE VIEW stu_glass (id,name,glass) AS SELECT student.s_id,student.name,stu_info.glass FROM student,stu_infp WHERE student.s_id=stu_info.s_id;

二、查看视图

查看视图是查看数据库中已存在的视图的定义。查看视图必须要有SHOW VIEW的权限,MySQL数据库下的user表中保存着这个信息。查看视图的方法有DESCRIBE、SHOW TABLE STATUS和SHOW CREATE VIEW。

2.1 使用DESCRIBE语句查看视图基本信息

DESCRIBE(DESC)可以用来查看视图,具体的语法如下:

DESCRIBE/DESC 视图名;

2.2 使用SHOW TABLE STATUS语句查看视图基本信息

查看视图的信息可以通过SHOW TABLE STATUS的方法完成,具体的语法如下:

SHOW TABLE STATUS LIKE '视图名';

例:

SHOW TABLE STATUS LIKE 'view_t' \G

2.3 使用SHOW CREATE VIEW语句查看视图详细信息

使用SHOW CREATE VIEW语句可以查看视图详细定义,语法如下:

SHOW CREATE VIEW 视图名;

例:

SHOW CREATE VIEW view_t \G

2.4 在views表中查看视图详细信息

在MySQL中,information_schema数据库下的views表中存储了所有视图的定义。通过对views表的查询,可以查看数据库中所有视图的详细信息,查询语句如下:

SELECT * FROM information_schema.views;

例:

SELECT * FROM information_schema.views \G

三、修改视图

修改视图是指修改数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性。MySQL中通过CREATE OR REPLACE VIEW语句和ALTER语句来修改视图。

3.1 使用CREATE OR REPLACE VIEW语句修改视图

例:修改视图view_t,代码如下:

CREATE OR REPLACE VIEW view_t AS SELECT * FROM t;

3.2 使用ALTER语句修改视图

例:使用ALTER语句修改视图view_t,代码如下:

ALTER VIEW view_t AS SELECT quantity FROM t;

四、更新视图

更新视图是指通过视图来插入、更新、删除表中的数据,因为视图是一个虚拟表,其中没有数据。通过视图更新的时候都是转到基本表上进行更新的,如果对视图增加或者删除记录,实际上是对基本表增加或者删除记录。

视图更新有3种方法:INSERT、UPDATE和DELETE。

例:使用UPDATE语句更新视图view_t,代码如下:

UPDATE view_t SET quantity=5;

对视图view_t更新后,基本表t的内容也会更新,同样当对基本表t更新后,另外一个视图view_t2中的内容也会更新。

例:使用DELETE语句删除视图view_t2中的一条记录,代码如下:

DELETE FROM view_t2 WHERE price=5;

当视图包含有如下内容时,视图的更新操作将不能被执行:
(1)视图中不包含基本表被定义为非空的列。

(2)在定义视图的SELECT语句后的字段列表中使用了数学表达式。

(3)在定义视图的SELECT语句后的字段列表中使用了聚合函数。

(4)在定义视图的SELECT语句中使用了DISTINCT、UNION、TOP、GROUP BY或HAVING子句。

五、删除视图

当视图不再需要时,可以将其删除。删除一个或多个视图可以使用DROP VIEW语句。

删除视图必须拥有DROP权限。

例:删除stu_glass视图,代码如下:

DROP VIEW IF EXISTS stu_glass;

来源地址:https://blog.csdn.net/m0_70452407/article/details/130030875

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL | 视图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL视图

视图常见的数据库对象视图概述为什么使用视图可以帮助我们使用表中的部分数据,对其修改可以改变原来表中的值可以简化查询控制数据的访问(权限)视图的理解视图是一种虚拟表,本身不具有数据的,占用极少的内存视图建立在已有表的基础上,我们可以视图所依据的表叫做基表视图的创
MySQL视图
2021-05-23

MySQL 视图

视图的概念视图是一张虚表,将查询结果集保存起来,作为视图使用。实际存在的表叫作基本表。  视图的作用安全性。grant授权用户只操作视图、只读,可以保护基本表中的数据。提高查询性能。视图只是基本表的一部分,查视图比查全表快。尤其是多表查询的时候,查视图一张表比
MySQL  视图
2016-06-03
2024-04-02
2023-08-31

MySQL——视图

注意:视图只适用于MySQL5及之后的版本 为什么使用视图? 重用SQL语句。 简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。 使用表的组成部分而不是整张表。 保存数据。可以给用户授予表的特定部分的访问权限而不是整张
MySQL——视图
2019-09-26

mysql-视图

mysql视图的定义视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句。因为数据库视图与数据库表类似,它由行和列组成,因此可以根据数据库表查询数据。其内容由查询定义。但是,视图并不在数据库中以存储的数据值集形式存在,行和
2023-01-30

mysql的视图

什么是视图视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。简单的来说视图是由select结果组成的表;视图的特性视图是对若干张基本表的引用,一张虚表,查询
mysql的视图
2018-08-23

MySQL 视图简介

概述数据库中关于数据的查询有时非常复杂,例如表连接、子查询等,这种查询编写难度大,很容易出错。另外,在具体操作表时,有时候要求只能操作部分字段。为了提高复杂 SQL 语句的复用性和表的操作的安全性,MySQL 提供了视图特性。所谓视图,本质上是一种虚拟表,同样
MySQL 视图简介
2019-11-20

MySql 视图 - 纪宇

视图是一个虚拟表,内容由创建时的查询语句定义创建视图create view view_name as 查询语句(select ... from ... where ... )删除视图drop view view_name视图的作用对于需要经常获取的数据,创建对
2020-02-02

MySQL基础-视图

视图定义:本质就是一张虚拟表。从一个或多个表中结合查询出来的结果集,作用和真实表一样。可以使用SELECT 语句查询数据,也可以使用INSERT,UPDATE,DELETE 来修改数据。优点:1) 简单化,数据所见即所得;2) 安全性,用户只能查询或修改他们所
2021-02-05

MySQL基础(4) | 视图

MySQL基础(4) | 视图基本语法1.创建CREATE VIEW AS 语法说明如下。:指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。:指定创建视图的 SELECT 语句,可用于查询多个基础表或源视图。对于创建视图中的 SELEC
MySQL基础(4) | 视图
2019-06-10

编程热搜

目录