1.存储过程和函数:类似于Java中的方法
1.1存储过程的创建和调用:
1.2存储过程的查看和删除
1.3存储过程中的语法:
2.触发器
执行某个操作会引起另一个操作的执行
3.事物
3.1事物的操作
3.2事物的四大特征
3.2.1事物的隔离级别
安全性越来越高,效率越来越低
解决办法:提高隔离级别
3.2.2脏读的演示和解决
脏读引发问题的理解:一方的事物没有提交另一方看到了修改后的数据,如果最后一方取消了数据的修改,另一方还以为是数据已经修改。
解决脏读:修改隔离级别到read commited 后,甲修改数据,在甲事务提交前乙看不到已经修改了的数据;甲提交事物后,乙可以查看到变化。
3.2.3不可重复读
不可重复读引发问题的理解:解决了脏读的情况下,一方的数据没有提交,另一方就不会读到,提交后就会读到修改后的数据,导致两次读到的数据不一致。
解决不可重复度:修改隔离级到repeatable read别之后,甲修改数据并提交事物后,乙仍然看不到数据的变化,要乙的事物也提交了才能看到。
3.2.4幻读
幻读引发的问题理解:甲在事物中增加一条新的记录,甲去查询数据库,自己能看到这一条新增的记录;甲的事物没有提交前,乙查询数据库中没有该记录,于是也增加了一条一样的记录,在甲提交事物后,乙结果执行失败。乙再去查数据库还是没有看到该记录,提交事物后才看到了这条数据
解决问题:把事物隔离级别提高到serializable(相当于锁表操作), 甲添加一条新的记录,没有提交事物之前,乙去查数据表,会出现卡死的现象,也就是卡死了;甲一提交事物,乙就能马上得到刚才查数据表的结果。
3.3总结