1、数据的删除
①DROP TABLE语句可以把表完全删除;
②DELETE语句回留下表(容器),而删除表中的全部数据。
2、DELETE语句
DELETE FROM <表名>;
【DELETE语句删除对象并不是表或者列,而是记录(行)。】
指定删除对象(搜索型DELETE)
DELETE FROM <表名>
WHERE <条件>;
这种指定删除对象的DELETE语句称为搜索型DELETE。
与SELECT语句不同的是,DELETE语句中不能使用GROUP BY、 HAVING和ORDER BY三类子句,而只能使用WHERE子句。
原因:GROUP BY和HAVING是从表中选取数据时用来改变抽取数据形式的,而ORDER BY是用来指定取得结果显示顺序的。
3、数据更新(UPDATE语句)
UPDATE <表名>
SET <列名> = <表达式>;
(1)搜索型UPDATE
UPDATE <表名>
SET <列名> = <表达式>
WHERE <条件>;
SET子句中赋值表达式的右边不仅可以是单纯的值,还可以是包含列的表达式。
(2)使用NULL进行更新
使用UPDATE可以将列更新为NULL(该更新俗称为NULL清空)。但是,只有未设置NOT NULL 约束和主键约束的列才可以清空为NULL,否则会出错。
(3)多列更新
①-- 使用逗号将列分隔排列
UPDATE <表名>
SET <列名1> = <表达式1>,
<列名2> = <表达式2>
WHERE <条件>;
②-- 将列用()括起来的列表形式
UPDATE <表名>
SET ( 列名1, 列名2) = (表达式1, 表达式2)
WHERE <条件>;
执行上述两种UPDATE语句可以得到相同结果。实际应用中通常使用第一种方法,因为第二种方法将列清单化,在某些DBMS中无法使用。
4、事务
(1)事务就是需要在同一个处理单元中执行的一系列更新处理的集合。一个事务中包含多少个更新处理或者包含哪些处理,均根据用户的要求决定。
(2)创建事务
事务开始语句;
DML语句①;
DML语句②;
DML语句③;
(略)
事务结束语句(COMMIT或者ROLLBACK);
各个DBMS事务的开始语句不尽相同:
SQL Server、PostgreSQL: BEGIN TRANSACTION
MySQL: START TRANSACTION
Oracle 、DB2:无【因为标准SQL中规定了一种悄悄开始事务处理的方法.】
事务结束需要用户明确地给出指示。
①COMMIT——提交处理
COMMIT是提交事务包含的全部更新处理的结束指令。相当于文件的覆盖保存,一旦提交,无法恢复到事务开始前的状态。因此,在提交前一定要确认是否真的需要进行这些更新。
②ROLLBACK——取消处理
ROLLBACK是取消事务包含的全部更新处理的结束指令。相当于文件处理中的放弃保存,执行后表中数据不会发生任何改变。
【若果不小心在自动提交模式下执行了DELETE操作,即使再回滚也无济于事!】
210

被折叠的 条评论
为什么被折叠?



