Mysql 创建表、存储过程、触发器 -Angelo 分享

简单的小例子,创建两个表,一个存储过程,一个触发器

存储过程是个 while 循环,也很简单,循环网表里插数据

功能:表一只要有insert 动作,触发器生效,执行触发器里的脚本

直接贴出来脚本, 有备注。请自行阅读~~

初学者建议手抄一遍练习。  

 

drop table if exists zhu;       -- 判断是否存在,存在就删了(zhu)
create table zhu(                 -- 创建 表一 (zhu)
id int(11) not null primary key ,
name_z char(11) ,
contents varchar(254)
) engine= Innodb default charset=utf8;

 

drop table if exists zhu1;       -- 判断是否存在,存在就删了(zhu1)
create table zhu1(                 -- 创建 表二 (zhu1)
id int(11) not null primary key auto_increment ,
name_z char(11) ,
contents varchar(254)
) engine= Innodb default charset=utf8;

 

DROP procedure if exists zhu;    -- 判断是否存在,存在就删了(函数-存储过程)
create PROCEDURE zhu()          -- 创建 函数-存储过程
BEGIN
declare i int;
set i = 0;

WHILE i <1000 DO
INSERT into zhu1 value('' , concat(i,MD5('z')),MD5('Angelo'));
set i =i+1;
end WHILE ;
END; 

 

drop trigger if exists zhu ;     -- 判断是否存在,存在就删了(触发器)
create trigger zhu               -- 创建 触发器
after INSERT on zhu       
for each row 
BEGIN
call zhu();
END;
-- 测试一下
INSERT into zhu value('' , concat(0,MD5('z')),MD5('Angelo'));

select * from zhu ;
select * from zhu1;

 -------------------------------------整块复制测试-----------------------------------------------------------------

drop table if exists zhu; 
create table zhu (
 id int(11) not null primary key auto_increment,
 name_z char(11),
 contents varchar(254)
)engine=Innodb default charset=utf8;

drop table if exists zhu1;
create table zhu1(
id int(11) not null primary key auto_increment ,
name_z char(11) ,
contents varchar(254)
) engine= Innodb default charset=utf8;


DROP procedure if exists zhu; 
create PROCEDURE zhu()
BEGIN
declare i int;
set i = 0;

WHILE i <1000 DO
INSERT into zhu1 value('' , concat(i,MD5('z')),MD5('angelo'));
set i =i+1;
end WHILE ;
END;

drop trigger if exists zhu ;
create trigger zhu
after INSERT on zhu
for each row 
BEGIN
call zhu();
END;

INSERT into zhu value('' , concat(0,MD5('z')),MD5('angelo'));

select * from zhu ;
select * from zhu1;

 

posted on 2017-12-04 15:29 AngeloOnline 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Angelo-Online/p/7977262.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值