zoukankan      html  css  js  c++  java
  • 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 触发器名字
  • 相关阅读:
    docker
    SAML(Security assertion markUp language) 安全断言标记语言
    kafka消息系统
    OBS 对象存储技术学习
    AOP之AspectJ
    sql查漏补缺
    todolist
    springboot 注解整理
    前端之jQuery
    前端之BOM和DOM
  • 原文地址:https://www.cnblogs.com/lavender1221/p/12922195.html
Copyright © 2011-2022 走看看