触发器
触发器是一个特殊得存储过程 当指定事件 删除 插入 修改 发生时候 系统自动调用触发器
创建触发器
drop trigger if exists mydel; #避免由于先前存在同名存储过程让触发器创建失败
delimiter //
create trigger mydel #创建名为 mydel 触发器
after delete #在delete操作之后被触发
on student
for each row
begin #触发器内容
#同时删除sc信息
delete from sc where S=old.S; #当删除student数据 同时删除sc表中s同学信息
#old 表 删除之前的数据 就是old
#new 表 修改之后的数据 new
end //
delimiter ;
删除触发器
drop tigger if exits tigger_name # 删除触发器
触发器用途
当两个表指定一个事件有相关性得时候,对其中一个表修改另一个也需要修改,手动修改很麻烦可以使用触发器。
事务
作为单个逻辑单元执行问题一系列sql语句 要么都成功 要么都失败
创建事务
start transactionl;
#sql语句;
#sql语句;
#提交 commit;
#回滚 rollback;
#提交和回滚只能选一个 不能都要
事务特性
1 原子性:
事务是最小的工作单元,不可拆分,要么都成功,要么都失败
2 一致性:
数据库的完整性约束不能被破坏
3 隔离性:
并行执行事务之间是隔离的,保证事务之间不受影响
4 持久性:
事务提交之后 改变数据永久保存在数据库中
提交事务
提交commit:
事务确认,提交事务,使更改永久生效。
回滚rollback:
事务回滚,取消之前的更改。