mysql视图 mysql相关内容就更完啦后期会更新python 网页及javaweb相关内容感兴趣的小伙伴关注一下吧

7、 视图

为了提高SQL语句的复用性和操作表的安全性,MySQL数据库管理系统提供了视图特性。

视图:本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的行和列数据。但是视图并不在数据库中一存储的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。

7.1 视图的特点

•视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系

•视图是由基本表(实表)产生的表(虚表)

•视图的建立和删除不影响基本表

•对视图内容的更新(添加、删除和修改)直接影响基本表

•当视图来自多个基本表时,不允许添加和删除数据

•更新基本表中的数据,视图中的数据也会跟着更新。

7.2创建视图

(1)创建视图的语法形式

虽然视图可以被看成是一种虚拟表,但是其在物理上是不存在的,即数据库管理系统没有专门的位置为视图存储数据。

create view view_name

​AS 查询语句;

注意:在SQL语句命名规范中,视图一般以view——xxx或者v_xxx的样式来命名。

(2)视图的查询

SELECT *

FROM view_name;

(3)查看视图

#查看视图名

SHOW TABLES;

#查看视图定义信息

SHOW CREATE VIEW viewname;  

7.3修改视图

修改视图语句:

# CREATE [OR REPLACE] VIEW 语句修改视图

Create[ or replace ]view view_name

​as 查询语句;

# ALTER 语句修改视图​

ALTER VIEW viewname

​as 查询语句;

7.4删除视图

删除视图的语法格式如下:

DROP VIEW view_name [,view_name]...

案例:

#在数据库chapter07中创建表。

CREATE DATABASE chapter07;

USE chapter07;

CREATE TABLE employee (

   id int(4) NOT NULL PRIMARY KEY,

   name varchar(36),

   age int(2),

   did int(4) NOT NULL,

dname varchar(36) 

);

#添加数据

INSERT INTO employee(id,name,age,did,dname)VALUES(1,'王红',20,1,'网络部');

INSERT INTO employee(id,name,age,did,dname)VALUES(2,'李强',22,1,'网络部');

INSERT INTO employee(id,name,age,did,dname)VALUES(3,'赵四',20,2,'媒体部');

INSERT INTO employee(id,name,age,did,dname)VALUES(4,'郝娟',20,4,'人事部');

#创建视图

create view view_employee

​AS 

Select id,name,age ,dname from employee;

#查询视图

Select * from view_employee;

#查看视图

SHOW TABLES;

SHOW CREATE VIEW view_employee;

#修改视图方法1:

Create or replace view view_employee

As

Select * from employee;

#查询视图

Select * from view_employee;

#修改视图方法2:

ALTER VIEW view_employee

​As

Select id,name from employee;

#查询视图

Select * from view_employee;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值