[MYSQL] 视图

本文详细介绍了MySQL中的视图概念,包括视图的创建、修改(使用`CREATE OR REPLACE VIEW`和`ALTER VIEW`)、删除,以及如何查看和使用视图。视图作为简化SQL查询和提高数据安全性的工具,可以被用来简化复杂查询,并提供数据的逻辑隔离。同时,文章也探讨了哪些类型的视图不允许进行数据的插入、更新和删除操作,并对比了视图与表的区别,强调视图的虚拟特性和表的物理存储特性。
摘要由CSDN通过智能技术生成

目录

一、含义

二、创建视图

三、修改视图

四、删除视图

五、查看视图

六、使用视图

七、视图和表的对比


一、含义

mysql5.1版本出现的新特性,本身是一个虚拟表,它的数据来自于表,通过执行时动态生成。

视图可以理解为编程中的函数。

好处:
1、简化sql语句
2、提高了sql的重用性
3、保护基表的数据,提高了安全性

二、创建视图

create view 视图名
as
查询语句;

例1:创建一个视图V1,该视图的内容为查询student表中张的学生名(stuname)

CREATE VIEW V1
AS
SELECT stuname
FROM student;

视图的使用:

例2:查询student表中张的学生名(stuname)

select * from V1

三、修改视图

方式一:

create or replace view 视图名
as
查询语句;

//该视图如果没有就创建一个,如果有就替换,替换就相当于把这个视图修改了

例:将视图V1的内容修改为,查询学生表中所有性别(sex)为男的学生名(stuname)

CREATE OR REPLACE VIEW V1
AS
SELECT stuname
FROM student
WHERE sex='男';

方式二:

alter view 视图名
as
查询语句;

例:将视图V1的内容修改为,查询学生表中所有性别(sex)为男的学生名(stuname)

ALTER VIEW V1
AS
SELECT stuname
FROM student
WHERE sex='男';

四、删除视图

drop view 视图1,视图2,...;

五、查看视图

1、desc 视图名;
2、show create view 视图名;

六、使用视图

1.插入:insert

例:在视图V1里,插入id为5,名字为张三,性别为男(该视图学生表结构为:id stuname sex)

INSERT INTO myv1 VALUES(5,'张三','男');

2.修改:update

例:修改视图V1,把张三的学生名(stuname)改为李四

UPDATE V1 SET stuname = '李四' WHERE stuname='张三';

注意:具备以下特点的视图不允许更新

①包含以下关键字的sql语句:分组函数、distinct、group  by、having、union或者union all

②常量视图

如:

CREATE OR REPLACE VIEW v2
AS
SELECT 'john' NAME;

③Select中包含子查询

④join

⑤from一个不能更新的视图

如:

CREATE OR REPLACE VIEW v5
AS
SELECT * FROM v3;

⑥where子句的子查询引用了from子句中的表

3.删除:delete

例:删除视图V1中学生名为王五的。

DELETE FROM V1 WHERE stuname = '王五';

4.查看:select


七、视图和表的对比

关键字是否占用物理空间使用
视图view占用较小,只保存sql逻辑一般用于查询
table保存实际的数据增删改查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值