数据库数据操作、会话、事务与锁的深入解析
1. 数据操作语言(DML)基础
在数据库操作中,数据的动态性是其显著特征,因为数据库数据代表着现实世界中经常变化的实体。经典的 DML 语句有 INSERT、UPDATE 和 DELETE 三种。
- INSERT 语句 :当有与数据库相关的新实体出现时,使用 INSERT 语句在一个或多个表中创建代表该实体的新数据行。
- UPDATE 语句 :当数据库中已存在的实体在现实世界中发生变化时,使用 UPDATE 语句修改数据库中关于该实体的信息。
- DELETE 语句 :当某个实体不再与数据库相关或从现实世界中完全消失时,使用 DELETE 语句从数据库中移除关于它的信息。
DML 语句具有不同的粒度。INSERT 或 DELETE 操作的最小单位是一行;而 UPDATE 可以对单行的单个列进行更改。需要注意的是,即使你想删除列中的值或向列中插入值,实际上也应该使用 UPDATE 语句将列值分别设置为 null 或特定值。
UPDATE 和 DELETE 语句中的 WHERE 子句非常重要。当省略 WHERE 子句时,目标表中的所有行都会受到影响(被修改或删除)。
部分数据库厂商还提供了与经典 DML 语句功能类似的额外语句。例如,Oracle 9i 的 MERGE 语句结合了 INSERT 和 UPDATE 语句的功能;Oracle 和 MS SQL Server 支持的 TRUNCATE 语句,其作用类似于没有 WHERE 子句的 DELETE 语句。