SQL 事务篇和约束
数据库事务:
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行
事务是恢复和并发控制的基本单位。
事务应该具有4个属性:原子性、一致性、隔离性、持续性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
事务(Transaction),也就是要么成功,要么失败,并恢复原状。
约束:
NOT NULL : 用于控制字段的内容一定不能为空(NULL)。
UNIQUE : 控件字段内容不能重复,一个表允许有多个 Unique 约束。
PRIMARY KEY: 也是用于控件字段内容不能重复,但它在一个表只允许出现一个。UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
FOREIGN KEY: FOREIGN KEY 约束用于预防破坏表之间连接的动作,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
CHECK: 用于控制字段的值范围。
DEFAULT: 用于设置新记录的默认值。
最新文章
- Windows Commands and API
- c#后台替换html标签的方法
- Eclipse安装Database Development插件。
- eclipse svn 忽略 target目录 等等... 我用的后边的方法 (转载)
- css3内容溢出属性
- Python 基础语法(二)
- java basic
- struts2文件异步上传
- 分分钟解决iOS开发中App启动广告的功能
- Python中的multiprocessing和threading
- MySQL所有函数及操作符
- C - Wooden Sticks
- DevExpress.LookUpEdit控件实现自动搜索定位功能 兼使用方法(looUpEdit可编辑)
- windows server 定期备份数据库脚本
- c#值类型与引用类型区别
- python写入文本报错TypeError: expected a string or other character buffer object
- Angular开发实践(五):深入解析变化监测
- Linux之read命令使用
- ZooKeeper leader election
- vuex脑图