DML
DML(Data Manipulation Language 数据操控语言)用于操作数据库对象中包含的数据,也就是说操
作的单位是记录。
insert
添加记录时需要满足一下条件
类型 长度 兼容: 字段 兼容值
值满足约束 :主键 (唯一+非空) 非空(必填) 唯一(不重复 ) 默认(没有填写使用默认值) 检查(满足条件)
外键(参考主表主键列的值)
个数必须相同: 指定列,个数顺序与列相同;没有指定,个数与表结构的列个数和顺序相同 (null也
得占位,没有默认值)
update
要求:
1. 记录存在
2. 类型 长度 兼容: 字段 兼容值
3. 个数相同
delect
delete [from] 表名 where 过滤行记录
说明:
1. delete 可以删除指定部分记录,删除全部记录
2. 记录上存在主外键关联时, 删除存在关联的主表的记录时,注意 参考外键约束, 约束强制不让删除
先删除从表 再删除主表
截断数据
事务
定义:事务是指作为单个逻辑工作单元执行的一组相关操作。这些操作要求全部完成或者全部不完成。使用事务是为了保证数据的安全有效。
特点:
1. 原子性(Atomic):事务中所有数据的修改,要么全部执行,要么全部不执行。
2. 一致性(Consistence):事务完成时,要使所有所有的数据都保持一致的状态,换言之:通过事
务进行的所有数据修改,必须在所有相关的表中得到反映。
3. 隔离性(Isolation):事务应该在另一个事务对数据的修改前或者修改后进行访问。
4. 持久性(Durability):保证事务对数据库的修改是持久有效的,即使发生系统故障,也不应该丢
失。
Oracle 默认的隔离级别是 read committed。
Oracle 支持上述四种隔离级别中的两种:read committed 和 serializable。除此之外, Oralce 中还定义
Read only 和 Read write 隔离级别。
Read only:事务中不能有任何修改数据库中数据的操作语句,是 Serializable 的一个子集。
Read write:它是默认设置,该选项表示在事务中可以有访问语句、修改语句,但不经常使用。
丢失更新:两个事务同时存储, 一个存储 100 , 一个存储 200,最终可能至存储了 200 或者 100,那
另一个的更新就没成功,即结果不为预想的 300