一张虚表,和真实的表一样。视图包含一系列带有名称的行和列数据。视图是从一个或多个表中导出来的,我 们可以通过insert,update,delete来操作视图。当通过视图看到的数据被修改时,相应的原表的数据也会变 化。同时原表发生变化,则这种变化也可以自动反映到视图中。

视图的优点

1. 简单化:看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化操作。经常被使用的查 询可以制作成一个视图

2. 安全性:通过视图用户只能查询和修改所能见到的数据,数据库中其他的数据既看不见也取不到。数据 库授权命令可以让每个用户对数据库的检索限制到特定的数据库对象上,但不能授权到数据库特定的 行,列上。

3. 逻辑数据独立性:视图可帮助用户屏蔽真实表结构变化带来的影响:

创建单表视图

CREATE
[OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement

语法:create view  起个名字 as select  显示的字段名1,显示字段名2.... from 表名;

mysql删除视图的命令 mysql 删除视图_数据库

查看表

语法:select * from 表名;

mysql删除视图的命令 mysql 删除视图_mysql删除视图的命令_02

 创建多表视图

mysql删除视图的命令 mysql 删除视图_mysql_03

mysql删除视图的命令 mysql 删除视图_database_04

查看视图的基本信息

语法:show table status like '表名'\G

mysql删除视图的命令 mysql 删除视图_python_05

 查看视图的详细信息

语法:show create view  表名\G

mysql删除视图的命令 mysql 删除视图_数据库_06

在mysql中,information schema 数据库下的views表中存储了所有视图的定义。通过对views表的查询,可以查 看数据库中所有视图的详细信息。

mysql删除视图的命令 mysql 删除视图_mysql删除视图的命令_07

alter 修改视图

语法:alter view vive的名字 as select 你要显示的字段 from 原表;

 

mysql删除视图的命令 mysql 删除视图_数据库_08

 

mysql删除视图的命令 mysql 删除视图_mysql_09

create 修改视图

语法:Create or replace view vive的表 as select  *from 表名;

Create or replace view vive的表 as select    字段名1,字段名2 from 表名;

 

mysql删除视图的命令 mysql 删除视图_database_10

mysql删除视图的命令 mysql 删除视图_python_11

 alter 修改视图

  语法:alter view vive表 as select  字段1,字段2  from 原表;

mysql删除视图的命令 mysql 删除视图_mysql删除视图的命令_12

update 更新视图

语法:update view的表名 set  你要修改的字段;

mysql删除视图的命令 mysql 删除视图_python_13

  如果修改的都是相同的,那我们可以字段2来精确修改。

语法:update view的表名 set  你要修改的字段 where  字段2;

mysql删除视图的命令 mysql 删除视图_mysql_14

 insert插入

语法:insert vive表 values(数据1,数据2);

mysql删除视图的命令 mysql 删除视图_mysql_15

 

mysql删除视图的命令 mysql 删除视图_python_16

delete删除指定的行

语法:delete from view表 where 删除的字段;

 

mysql删除视图的命令 mysql 删除视图_数据库_17

 

mysql删除视图的命令 mysql 删除视图_数据库_18

 drop 删除视图表

语法:drop view [IF EXISTS]视图名1,视图名2 ……

mysql删除视图的命令 mysql 删除视图_mysql删除视图的命令_19

查看库中的所有视图

show full tables where table_type='view';

mysql删除视图的命令 mysql 删除视图_mysql_20

 扩展 MySQL中视图和表的区别以及联系是什么?

1、两者的区别:

(1)视图是已经编译好的SQL语句,是基 于SQL语句的结果集的可视化的表。而表不是。

(2)视图没有实际的物理记录,而表有。

(3)表是内容,视 图窗口

(4)表和视图虽然都占用物理空间,但是视图只是逻辑概念存在,而表可以及时对数据进行修改,但 是视图只能用创建语句来修改

(5)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据, 只是一些SQL 语句的集合。从安全角度来说,视图可以防止用户接触数据表,因而不知道表结构

(6)表属于 全局模式中的表,是实表。而视图属于局部模式的表,是虚表

(7)视图的建立和删除只影响视图本身,而不 影响对应表的基本表

2、两者的联系 视图是在基本表之上建立的表,它的结构和内容都来自于基本表,它依赖基本表存在而存在。 一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本的抽象和逻辑意义上建立的关系。