MySQL之视图与触发器

一、视图

定义:视图类似一张虚拟的表,有行和列,但是视图中存储的是查询语句,且视图中的数据依赖于原表数据。

特点:

简单:将一些复杂的关系查询语句存入视图中,下次使用时不需要再次编写SQL语句,直接调用视图就可以了,可以重复的使用一个特定的查询语句。

安全:Mysql数据库没有提供对于字段的权限,我们可以通过视图来去做字段的权限。

数据独立:一旦视图创建成功,就算原表的结构发生变化,也不会对视图的结构产生影响。

创建视图

CREATE VIEW 视图名 AS(查询语句);

查看视图

SHOW TABLE STATUS WHERE COMMENT=view’;

使用视图

SELECT * FROM 视图名;

删除视图

DROP VIEW 视图名;

视图的特性:视图中存的是查询语句,就算你的视图中存的是简单查询,在通过视图去查询数据时会自动变成复杂查询。

视图的缺点:占用更多资源,后期会增加维护成本。

二、触发器

在MySQL数据库中可以通过创建触发器,以使在表里执行特定指令时自动向某张表里执行特定的操作。

例如给user表创建一个触发器,当向user表中添加数据时 给userinor也添加一条数据,或是当我们删除user表中的数据时 将删除的数据备份的 back_user表中。

语法:

CREATE TRIGGER 
触发器名字 触发时机 触发事件 
ON 表名 
FOR EACH ROW 
BEGIN
触发器要执行的sql语句
EDN;

创建触发器时需要修改数据的默认结束符,使用\d||命令。

创建完触发器时必须把结束符更改回来。

查看触发器

Select * from information_schema.trigger;

删除触发器

Drop trigger 触发器名字
posted @ 2020-05-20 10:36  如心幻雨  阅读(878)  评论(0编辑  收藏  举报