Loading

Nosuchpgmr's Blog

博客园 首页 新随笔 联系 订阅 管理

视图

概述

view_1

创建视图

语法

CREATE [OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW 视图名称 [(字段名称)]
AS 查询语句
[WITH [CASCADED|LOCAL] CHECK OPTION]

精简版

CREATE VIEW 视图名称
AS 查询语句
#eg.
CREATE VIEW vu_emp1
AS 
SELECT employee_id,last_name,salary
FROM emps;

格式化

CREATE VIEW vu_emp_dept1
AS
SELECT CONCAT(e.last_name,'(',d.department_name,')') emp_info
FROM emps e JOIN depts d
ON e.department_id = d.department_id;

基于视图创建视图

FROM后使用视图名即可

查看视图

#查看所有表、视图对象
SHOW TABLES;
#查看视图结构
DESC vu_emp1;
#查看视图属性信息
SHOW TABLE STATUS LIKE 'vu_emp1';
#查看视图详细定义信息
SHOW CREATE VIEW vu_emp1;

修改视图

#更新视图数据,表中数据也会被修改
UPDATE vu_emp1
SET salary = 10000
WHERE employee_id = 101;
#删除视图数据,表中数据也会被修改
DELETE FROM vu_emp1
WHERE employee_id = 101;
CREATE(ALTER) VIEW vu_emp1
AS 
SELECT employee_id,last_name,salary
FROM emps
WHERE salary > 7000;

视图中数据不能被更新的情况:

view_2

删除视图

DROP VIEW IF EXISTS vu_emp1;
posted on 2022-05-06 22:04  nosuchpgmr  阅读(83)  评论(0)    收藏  举报