视图

2023-05-30 11:21:48 浏览数 (2)

所谓的视图是一种虚拟表,本身是不具有数据的,视图是在已有表上创建的,那些表我们称为基表。 对基表做改变视图也会相应的发生变化,对视图的操作也会影响基表

对于小项目,不推荐使用视图,大项目可以考虑使用视图

创建视图

最简单的基本语法形式:

代码语言:javascript复制
sqlCREATE VIEW 视图名(字段名)
AS
查询语句

例:

代码语言:javascript复制
sqlCREATE VIEW e1(名字,电话号码)
AS
SELECT last_name,phone_number
FROM emp

查看视图: SELECT * FROM e1

视图中的字段可能在表中没有对应的字段 例如:

代码语言:javascript复制
sqlCREATE VIEW vm_money
AS
SELECT employee_id,SUM(salary)
FROM emp
GROUP BY employee_id

当然创建视图也可以根据视图创建视图,也可以多表联合创建视图

查看视图的属性信息: SHOW TABLE STATUS LIKE '视图名' 查看视图的详细定义信息: SHOW CREATE VIEW 视图名

更新视图的数据

update 例:

代码语言:javascript复制
sqlUPDATE e1
SET 电话号码='110110'
WHERE 名字='King'

修改视图: 方法1:

代码语言:javascript复制
sqlCREATE OR REPLACE VIEW 视图的名字(字段)
AS
查询语句

会发现和创建视图的时候差不多

方法2:

代码语言:javascript复制
sqlALTER VIEW 视图名
AS
查询语句

删除操作: DROP VIEW IF EXISTS 视图名称——这是直接把视图删除了

删除部分字段: 用DELECT FROM和删除表的一样

删除的时候会出现删除失败是情况,原因是基于表创建的视图在字段上与基表不一样,比如视图是分组的,那么删除该组就会错误——The target table vm_m of the DELETE is not updatable

0 人点赞