事务
如果要执行一系列操作的化,而这些操作最终以整体原子操作的形式完成的话,事务是必须的:
原子性: 整体的,要么失败,要么成功
一致性: 数据不会被破坏
隔离性:一个事务与另有一个事务相分离的
持久性: 一旦完成操作,它对数据库的操作是永久的反映在数据库中,持久性保证系统在操作的时候
免遭破坏:主要反映在机器的故障,突然断电,硬盘损坏等问题,达到持久性,系统一般
保留了一份日志,一旦出现故障,就可以通过日志重建数据:
事务的隔离级别:
脏读,不可重复读,幻影读取。
读取了未提交数据的方法叫脏读问题:
不可重复读:当再次读取的时候就出现了不可重复读取的问题:
幻影读取:指的是两次数据库读取操作之间,一组新的数据会出现在数据库中:
了解了这个概念,下面来看一下4种事务的隔离级别的区别:
使用READ_UNCOMMITED 级别: 脏读,不可重复读,幻影读取。都可能发生
使用READ_COMMITED 级别: 可以解决脏读问题,但是还会有幻影读取问题和不可重复读取问题,一般用于制作报表
使用pereatable_read 级别:可以解决脏读问题和不可重复读取问题,但是还会有幻影读取问题
使用serializeble级别,可以解决脏读问题,不可重复读,幻影读取问题,这是最严格的隔离级别:
事务的使用:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITED
BEGIN TRANSACTION
......
COMMIT
NULL的学问:
(4) sql中数据库进行加密:(查资料)
(5)报表的开发: