mysql13版本_Mysql13—— 视图

本文详细介绍了MySQL中的视图概念,包括如何创建、修改和删除视图,以及视图在数据查询和安全性方面的优势。通过实例展示了如何利用视图简化复杂SQL操作,并讨论了哪些类型的视图不允许进行更新操作。此外,还提到了视图在数据重用和保护上的作用。
摘要由CSDN通过智能技术生成

含义:虚拟表,和普通表一样使用

mysql5.1版本出现的新特性,是通过表动态生成的数据

案例:查询姓张的学生名和专业名

SELECT stuname,majorname

FROM stuinfo s

INNER JOIN major m ON s.`majorid`=m.`id`

WHERE s.`stuname` LIKE '张%‘;

CREATE VIEW v1

AS

SELECT stuinfo s

INNER JOIN major m ON S.`MAJORID`=M.`id`;

SELECT * FROM v1 WHERE stuname LIKE '张%’;

一、创建视图

语法:

create view 视图名

as

查询语句;

USE myemployees;

案例:查询邮箱中包含a字符的员工名、部门名和工种信息

创建

CREATE VIEW myv1

AS

SELECT last_name,department_name,job_title

FROM employees e

JOIN departments d ON e.department_id = d.department_id

JOIN jobs j ON j.job_id = e.job_id;

使用

SELECT * FROM myv1 WHERE last_name LIKE '%a%';

优势:

重用sql语句

简化复杂的sql操作,不必知道它的查询细节

保护数据,提高安全性

二、视图的修改

方式一:

create or replace view 视图名

as

查询语句;

CREATE OR REPLACE VIEW myv3

AS

SELECT AVG(salary),job_id

FROM employees

GROUP BY job_id;

方式二:

语法:

alter view 视图名

as

查询语句

alter view myv3

as

select * from employees;

三、删除视图

语法

drop view 视图名,视图名,...;

四、查看视图

DESC myv3;

SHOW CREATE VIEW myv3;

五、视图的更新

CREATE OR REPLACE VIEW myv1

AS

SELECT last_name,email,salary*12*(1+IFNULL(commission_pct,0)) "annual salary"

FROM employees;

SELECT * FROM myv1;

1、插入

INSERT INTO myv1 VALUES('张飞','zf@qq.com');

2、修改

UPDATE myv1 SET last_name = '张无忌' WHERE last_name=''

3、删除

DELETE FROM myv1 WHERE last_name = '张无忌';

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

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

常量视图

select中包含子查询

join

from一个不能更新的视图

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

是否实际占用物理空间

使用

视图

create view

只是保存了sql逻辑

增删改查,一般不能增删改

create table

保存了数据

增删改查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值