MySQL学习笔记之视图的创建,更新,删除,查询

422 阅读3分钟

本篇文章通过学习《数据库系统概论》和《MySQL从入门到精通》,总结所得

在MySQL数据库中为我们提供了一种特性,它可以简化查询,提高安全性,就是本章要学习的视图视图是从一个或几个表(或视图)导出的表。本质上是一个虚表,其内容与基本表相似。在数据库中不存放视图对应的数据,而是存放视图的定义,在具体引用视图时通过查询语句动态生成,所以基本表发生变化,从视图中查询出来的数据也发生变化。视图就像一个窗口,透过它可以看到数据库中感兴趣的数据及变化。

创建视图

创建视图的基本语法:

create view 视图名 (列名1,列名2,.... 列名n)
as 
查询语句

create view 为创建视图的关键字;视图名不能和表名或已有的视图名重名;括号中的列名或者全部省略或者全部指定,列名的数量要和查询语句中列的数量一致;查询语句为MySQL可以正确使用的查询语句。

查看视图

命令 说明
show tables 显示表和视图的名字
show table status 显示所设置数据库里表和视图的详细信息
show create view 视图名 查看指定视图的定义信息
describe 或 desc 视图名 查看指定视图的设计信息

修改视图

通过alter语句修改视图

基本语法:

alter view 视图名 (列名1,列名2, ... 列名n)
as
查询语句

通过alter view语句,来实现修改指定视图的功能。

通过create or replace view 来修改视图

基本语法:

create or replace view 视图名 (列名1, 列名2, ... 列名n)
as
查询语句

如果数据库中已经存在指定的视图,那么就对该视图进行修改,如果不存在就创建该视图。(有 就修改,没有 就创建)

使用视图进行操作

视图定义后,用户可以像对基本表一样对视图进行操作,但需要注意下面两点:

  • 对视图数据进行添加、删除、修改直接影响基本表
  • 视图来自多个基本表时,不允许添加和删除数据

  1. 查询视图: 如:select * from 视图名;
  2. 添加数据: 如:insert into 视图名 values (常量1, 常量2,... 常量n);values后面的数据常量与视图中的列要一一对应。
  3. 删除数据: 如:delete from 视图名 where 条件;
  4. 修改数据: 如:update 视图名 set 修改列 where 条件;

可以查看《MySQL学习笔记之对表中数据的增,删,改。》进行了解 对数据的操作。

删除视图

基本语法:

drop view 视图名1 [,视图名2,...,视图名n];

通过drop view语句可以一次删除一个或者多个视图。

结束

今天的学习到此为止,有不对的或不准确的地方可以在评论中指定出来。感谢你们的鼓励。

公众号:HarLearn

HarLearn