加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

[mysql]视图

发布时间:2022-10-13 15:30:21 所属栏目:MsSql教程 来源:转载
导读: 目录
首先介绍下数据对象:
对象描述
表(TABLE)
表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录
数据字典 就是系统表,存放数据库相关信息的表
系统表的数据通常由数

目录

首先介绍下数据对象:

对象描述

表(TABLE)

表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录

数据字典 就是系统表,存放数据库相关信息的表

系统表的数据通常由数据库系统维护, 程序员通常不应该修改,只可查看

约束 (CONSTRAINT)

执行数据校验的规则,用于保证数据完整性的规则

视图(VIEW)

一个或者多个数据表里的数据的逻辑显示,视图并不存储数据

索引(INDEX)

用于提高查询性能,相当于书的目录

存储过程 (PROCEDURE)

用于完成一次完整的业务处理,没有返回值,但可通过传出参数将多个值传给调

存储函数 (FUNCTION)

用于完成一次特定的计算,具有一个返回值

触发器 (TRIGGER)

相当于一个事件监听器mssql 使用视图,当数据库发生特定事件后,触发器被触发,完成相应的

创建视图

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

查看视图

?#语法1:查看数据库的表对象、视图对象
?SHOW TABLES;
?#语法2:查看视图的结构
?DESC / DESCRIBE 视图名称;
?#语法3:查看视图的属性信息
?SHOW TABLE STATUS LIKE '视图名称'\G
?#执行结果显示,注释Comment为VIEW,说明该表为视图,其他的信息为NULL,说明这是一个虚表。
?#语法4:查看视图的详细定义信息
?SHOW CREATE VIEW 视图名称;

更新视图

MySQL支持使用INSERT、UPDATE和DELETE语句对视图中的数据进行插入、更新和删除操作。

?SELECT ename,tel FROM emp_tel WHERE ename = '孙洪亮'; 
?UPDATE emp_tel SET tel = '13789091234' WHERE ename = '孙洪亮';
?DELETE FROM emp_tel WHERE ename = '孙洪亮'

修改

方式1:使用CREATE OR REPLACE VIEW 子句修改视图

?CREATE OR REPLACE VIEW empvu80 
?(id_number, name, sal, department_id) AS
?SELECT employee_id, first_name || ' ' || last_name, salary,department_id 
?FROM employees 
?WHERE department_id = 80;

说明:CREATE VIEW 子句中各列的别名应和子查询中各列相对应。 方式2:ALTER VIEW

?ALTER VIEW 视图名称 AS 查询语句

删除

?DROP VIEW IF EXISTS 视图名称;

不可更新的视图

要使视图可更新,视图中的行和底层基本表中的行之间必须存在 一对一 的关系。另外当视图定义出现如

下情况时,视图不支持更新操作:

UNION 等,视图将不支持INSERT、UPDATE、DELETE;

虽然可以更新视图数据,但总的来说,视图作为 虚拟表 ,主要用于 方便查询 ,不建议更新视图的 数据。对视图数据的更改,都是通过对实际数据表里数据的操作来完成的。

优缺点:

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!