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即视图