当前位置:网站首页>mysql8.026-- 视图(下)
mysql8.026-- 视图(下)
2022-07-17 04:43:00 【new DFP】
1.视图
- 概念
① 视图,可以看做是一个虚拟表,本身是不存储数据的。视图的本质,就可以看做是存储起来的SELECT语句
② 视图中SELECT语句中涉及到的表,称为基表
③ 针对视图做DML操作,会影响到对应的基表中的数据。反之亦然。
④ 视图本身的删除,不会导致基表中数据的删除。
⑤ 视图的应用场景:针对于小型项目,不推荐使用视图。针对于大型项目,可以考虑使用视图。
⑥ 视图的优点:简化查询; 控制数据的访问
1.1 创建视图
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW 视图名称 [(字段列表)] AS 查询语句 [WITH [CASCADED|LOCAL] CHECK OPTION]create view 视图名称
as 查询语句
-- 创建视图
CREATE VIEW v1
as
SELECT employee_id,last_name,salary
FROM atguigudb.employees
WHERE department_id=80
-- 查询视图
SELECT * FROM v1;
-- or REPLACE 存在视图替换 ()指定替换字段名称
CREATE OR REPLACE VIEW v1(e_id,e_name,e_salary)
as
SELECT employee_id,last_name,salary
FROM atguigudb.employees
WHERE department_id=80
-- 基于视图创建视图
CREATE VIEW v2
as
SELECT e_id,e_name
FROM v1
SELECT * from v2
-- 多表联查
create OR REPLACE VIEW morev
as
SELECT e.employee_id,e.last_name,d.department_name
from atguigudb.departments d , atguigudb.employees e
WHERE d.department_id=e.department_id
SELECT * FROM morev
CREATE OR REPLACE VIEW morev2
as
SELECT e.employee_id,e.last_name,d.department_name
FROM atguigudb.departments d LEFT join atguigudb.employees e
ON d.department_id=e.department_id
-- 格式化视图
CREATE or REPLACE VIEW depart
as
SELECT CONCAT(e.last_name,'(',d.department_name,')') as emp_dept
from atguigudb.departments d , atguigudb.employees e
WHERE d.department_id=e.department_id
select *
FROM depart
1.2 更新视图
select * FROM v1
#更新视图的数据,会导致基表中数据的修改
#同理,更新表中的数据,也会导致视图中的数据的修改
#删除视图中的数据,也会导致表中的数据的删除
-- 更新视图
update v1
set e_name="DFP"
WHERE e_id=145
-- 修改视图
-- 可以用or REPLACE
SHOW TABLES;
1.3 删除视图
#6. 删除视图
DROP VIEW v1
DROP VIEW IF EXISTS v1边栏推荐
- Golang reverse slice code example
- WildFly:如何从位于另一个应用程序中的 EJB 调用 EJB
- LeetCode-移除元素
- 复旦微FMQL(国产Zynq) 【IAR裸机开发之PS】——非字节对齐访问
- OpenLDAP自定义schema
- B+树存储过程、触发器、Substring和substr的区别及Truncate和Delete的区别
- [pits]packets go:428: busy buffer invalid connection
- 'ionic' is not an internal or external command, nor is it a runnable program or batch file.
- Gin框架原理
- VirtualLab基础实验教程-7.偏振(3)
猜你喜欢

数据分析报告这样写,才算真正读懂了数据

T+0变T+1!快赎金额降至1万!又有银行调整现金理财产品申赎规则
![[TA frost wolf \u may - hundred people plan] Figure 2.5 bump mapping](/img/c6/4c58e2c01c46e76968943bf9ad3311.png)
[TA frost wolf \u may - hundred people plan] Figure 2.5 bump mapping

Mature threads should know how to refuse

基于JIRA7.9.2定制修改

Delete the file unable to find or create trash directory

Eureka, take advantage of the tens of millions of daily visits!

MySQL InnoDB transaction related records

Unit UMP Packaging Black Screen issue Summary

Sg90 actuator experiment based on STM32, including code (HAL Library)
随机推荐
rotoc-gen-go: unable to determine Go import path for **. proto
OSPF anti ring
Rk1126 realizes picture in picture function picture in picture for rk 1126
Data types of basic knowledge of C language
[Vuforia] 图像识别的简单逻辑
Golang reverse slice code example
surging作者出具压测结果
Phthon3 install mysqldb error problem solving reason: image not found
对于每一个 Provider 实例都会维护多个连接
PHP array_ Filter empty leave 0, false
而导致公司所有系统修改跟着升级
mysql中的视图、触发器和存储过程
Delete the file unable to find or create trash directory
异或和加密方式的解密的复现
如何进行mysql下的严格模式修改,使得使用插入用户表方式添加新用户成功
数据库学习笔记(一)检索数据
How to configure binlog
sql中的substr与substring函数用法
[pits]packets go:428: busy buffer invalid connection
Wkwebview sets the correct posture of custom useragent