MySQL视图
2021/9/16 2:08:36
本文主要是介绍MySQL视图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
视图 (view) 视图 view(保存sql逻辑) 表 table(占用)
- 虚拟表: 和普通表一样 mysql5.1版本出现的新特性,通过表动态生成的数据,只保存sql逻辑,不保存查询结果
- 应用场景:
- 多个地方用到同样的查询结果
- 该查询结果使用的sql语句较复杂
- 示例:
CREATE VIEW v1 创建一个v1的view视图表AS select stuname ,majorName from stu.stuinfo s inner join major m on s.majorid = m.id; SELECT * FROM v1 WHERE stuname LIKE '%三' 调用v1的视图表
-
# 查找job表,employees,department表中员工名包含a的 use myemployees; create view myv1 as select last_name,department_name,job_title from employees e join departments d on d.department_id = e.department_id join jobs j on j.job_id = e.job_id; # 使用 select * from myv1 where last_name like '%a%';
- 创建视图:
- create view 视图名
- as
- 查询语句;
- 特点:
- 重用sql语句
- 简化复杂的sql操作,不必知道它的查询细节
- 保护数据,提高安全性
- 视图的修改
-
- create or repacle view 视图名 方式一
- as
- 查询语句;
- alter view 视图名
- as
- 查询语句;
-
- 删除视图
- drop view 视图名,视图名;
- 查看视图
-
desc 视图名; show create view 视图名
-
- 视图的更新:
- insert 可以在视图中使用,也可以对原始表进行更新
- update 可以子啊视图中使用,原始表也随之更改
- 具备一下特点的视图不允许更新
- 分组函数 ,distinct,group by,having,union 或者 union all
- 常量视图
- select中包含子查询
- 含有join语句的连接其他表的
- from 一个不能更新的视图
- where子句的子查询引用了from子句中的表
- delete 和 truncate 在事务中使用的区别
- truncate 在事务中进行了rollback 回滚但是我在回滚之前的truncate操作会永久性的生效,不会受rollback影响。
- delete 在事务中进行操作,rollback回滚之后回恢复delete之前的状态
变量
- 分类
- 系统变量
- 全局变量
- 会话变量
- 自定义变量
- 用户变量
- 局部变量
- 系统变量
这篇关于MySQL视图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南
- 2024-10-22MySQL数据库入门教程:从安装到基本操作
- 2024-10-22MySQL读写分离入门教程:轻松实现数据库性能提升