一 什么是事务?
事务是一组原子操作,是一组SQL指令,有着“要么全部执行成功,要么撤销不执行”。
遵循的原则:ACID原则(原子性,一致性,隔离性,持久性)
1)原子性表示事务执行过程中的任何失败都将导致事务的操作失败
2)一致性(consistency) 表示事务执行失败时,所有被影响的数据都应该恢复到事务执行前的状态。
3)隔离性(isolation) 表示事务对数据的修改,在事务提交之前和任何其他的事务不可见
4)持久性(durability)表示数据在事务提交之前,数据的状态都是正确的。
二 管理事务
开始事务:BEGIN TRANSACTION
提交事务:COMMIT TRANSACTION
回滚事务:ROLLBACK TRANSACTION
判断执行语句是否出错:@@ERROR
三 索引
通过索引,可以大大提高数据库的检索速度,改善数据库的性能。
索引的类型:
1)唯一索引:唯一索引不允许两行具有相同的索引值
2)主键索引:为表定义一个主键将自动创建主键索引
3)聚集索引:表中各行的物理顺序与键值顺序一样
4)非聚集索引:指定表的逻辑顺序
四 视图
视图是一张虚拟表,它不会存放数据,而是存放在视图所引用的原始表。也就是说它是基于SQL查询结果集的表
五 存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程就相当于编程语言中的方法。
存储过程的语法:
<span style="white-space:pre"> </span>CREATE PROC[EDURE] 存储过程名
@参数1 数据类型= 默认值OUTPUT,
…… ,
@参数n 数据类型= 默认值OUTPUT
AS
SQL 语句
<span style="white-space:pre"> </span>GO
调用方式:
EXEC proc_stu 60,55;EXEC proc_stu @labPass=55,@writtenPass=60