触发器 和数据库的备份
1触发器定义 :
trigger 事件绑定的过程
捕获对象
以前端为例 js Document.getElementById
$("#")
编写条件
触发条件 click blur
判断条件 if (){ block}
执行函数
Function(){}
当某个事物满足某个条件触发某个功能
触发器的编写
以tab1 和tab2 为案例
当tab1 被插入的时候,自动插入到tab2
创建触发器
DELIMIER || 声名 mysql 的结束符,默认结束符是;
CREATE TRIGGER tb2_auto_add AFTER INSERT
ON tb1 FOR EACH ROW BEGIN
insert into tb2(name,age) value ("老王",18);
end
||
DELIMITR ;声名mysql的结束符 ,默认结束符数;
insert 出入事件
EACH ROW 任意一行
BEGIN 开始编写触发软件
insert into tb2 (name,age)value("老王",17);触发
end 触发事件结束
测试效果
触发器的语句分析
CREATE TRIGGER tb2_auto_add AFTER INSERT
ON tb1 FOR EACH ROW
BEGIN
insert into tb2(name,age) value ("老王",18);
end
create 创建
trigger 触发器
tb_auto_add 触发器名称.必须有意义
AFTER 触发时间
AFTER 在触发时间之后
BEFOR 在触发器之前
INSERT 触发的条件
UPDATE 更新事件
DELETE 删除事件
INSERT 插入事件
EACH ROW 任意一行
BEGIN 开始编写事件
insert into tb(name,age)value("老王",18), 触发的时间
END 触发时间结束
查看触发器
触发器信息都存放在information_schema 数据库当中的trigger表中
select * frominformation_schema.triggers;
删除触发器
drop trigger tirggerName
使用触发器之前,一定要去确认好数据库关系可不不可以完成需求。
DELIMITER;
在触发期当中,NEW 变量代表触发表。
DELIMITER ||
cerate trigger tb5_add_tb3_id_1 after insert ON ta3
for each ROW
BEGIN
insert into tb5(tb_id) value (NEW.ID);
END
||
DELIMITER;
1、安全考虑,考虑到数据被修改的权限问题,我们用触发器代替用户来修改数据
2、审计功能,对前端操作进行审计
3、实现业务规则
4、同步数据
5、用于科学计算,做数学统计
数据库的备份
数据库的导入和导出
mysqldump
导出数据库
mysqldump -u root -p database table >*.sql
导入
mysql -u 用户名 -p 数据库名称 < 数据库文件
不在mysql内部执行