MySQL视图

原文链接:https://blog.liuzijian.com/post/e3fff40c-83f6-1619-2a08-5c2980d8650a.html

视图,即基于查询的虚拟表,始于mysql 5.1 ,通过普通表动态生成的数据,适用于复杂查询,在使用时动态生成,只保存了SQL逻辑,适用于多个地方用到同一个SQL,且SQL复杂,可以隐藏列定义,保护数据,不会暴漏原始表。

1.创建#

CREATE VIEW empjobdept AS 
SELECT employees.last_name AS lastname,
employees.employee_id AS eid,
departments.department_name AS deptname,
jobs.job_title AS jobtitle
FROM employees 
LEFT JOIN departments ON departments.department_id = employees.department_id
LEFT JOIN jobs ON jobs.job_id = employees.job_id

2.使用视图#

SELECT * from empjobdept

3.修改视图#

存在就修改,不存在就创建

CREATE OR REPLACE VIEW AS 查询语句

ALTER VIEW 视图名 AS 查询语句

4.删除视图#

DROP VIEW 视图名,视图名....

5.查看视图#

DESC empjobdept;

show create view empjobdept;

6.修改数据#

视图的数据支持更新修改和删除,而且会影响到原始表。

不能编辑视图的情况

1.包含分组函数, GROUP BYHAVING ,去重, 联合, 子查询等语句。
2.from不能更改的视图。
3.常量视图。
4.WHERE字句子查询引用了from字句中的表时。

7.视图和表的对比#

创建语法不同,视图数据不占用物理空间,只保存逻辑。

作者:changelzj

出处:https://www.cnblogs.com/changelzj/p/18627651

版权:本作品采用「署名-非商业性使用-禁止演绎 4.0 国际」许可协议进行许可。

posted @   LiuZijian  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示