Mysql对象

2.简介

2.1 存储过程

  • 2.1.1什么是存储过程

    存储过程就是一种类似函数的脚本,可以把多个sql语句组合起来,然后使用 call 存储过程名 来调用,从而执行这些SQL语句。 
    特点:一次编译,下次直接运行

  • 2.1.2怎么创建存储过程?

  CREATE PROCEDURE test()
  BEGIN
  SELECT * FROM xm_passport.tb_passport where uid=57284;
  SELECT id FROM xm_passport.tb_passport where uid=34;
  END

 

说明:test是存储过程名,begin和end之间可以有多个sql语句

  • 2.1.3怎么调用

    call test()

  • 2.1.4 怎么查看

    show procedure status 查看全部的存储过程 
    show create procedure cmdb.batchInsert 查看cmdb数据库下的名为batchInsert的存储过程的信息

2.2 触发器

  • 2.2.1什么是触发器

    触发器是当我们执行一个sql语句的时候,会触发执行另一个我们定义好的sql语句。

  • 2.2.2 怎么创建触发器?

  CREATE TRIGGER testref BEFORE INSERT ON test1
      FOR EACH ROW BEGIN
      INSERT INTO test2 SET a2 = NEW.a1;
      DELETE FROM test3 WHERE a3 = NEW.a1;  
      UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
   END

说明:上述语句的意思是,当我们向test1中插入数据时,会触发执行下面定义好的3条sql语句。 
testref是触发器名,begin和end之间可以有多个sql语句 
before Insert on test1 是指每次向test1插入数据之前,触发 
for each row 对test1的每一行都有效

  • 2.2.3怎么调用

    自动触发,不用手动调用

  • 2.2.4 怎么查看

    SHOW TRIGGERS

    2.3 视图

  • 2.3.1什么是视图

    视图是指从一个或多个表中取出我们需要的字段,组成一个类似于表的对象。

  • 2.3.2怎么创建视图?

  create view select_user_view  as select id,name from user where id>30;

说明:select_user_view是视图名,as后面是从user表中选择id>30的id和name字段放到视图中

    • 2.3.3怎么调用

      select * from select_user_view; //select_user_view是视图名

    • 2.3.4 怎么查看

      select * from information_schema.tables where table_schema='ad' and table_type='view'; 
      说明:table_schema是指定数据库,table_type代表对象的类型,view即视图

posted @ 2017-09-10 16:08  沸水香茶  阅读(411)  评论(0编辑  收藏  举报