《SQL必知必会》--更新和删除数据
第16课 更新和删除数据
上一节课的时候提到SQL常用的四个语句。前面已经讲过了两个SELECT
INSERT
,下面将后面两个 UPDATE
DELETE
。
更新数据
两种更新数据的 UPDATE
方式:
- 更新表中的特定行
- 更新表中的所有行
使用UPDATE
语句的三个要素:
- 要更新的表
- 列名和新值
- 确定更新那些行的过滤条件
某条记录中某个列的数据更新:
1 |
|
某条记录中多列数据更新:
1 |
|
不要忘记列名之间的逗号
,
不要忘记WHERE
子句,如果没写该子句,则更新全部行。
更新某条记录中某列的数据为空值(即删除该数据):
1 |
|
删除数据
删除数据的两种DELETE
形式:
- 删除表中特定行
- 删除表中所有行
1 |
|
带着过滤条件则删除特定行,去掉过滤条件则删除所有行;
DELETE
删除整行,删除指定列请使用UPDATE
语句;DELETE
语句从标中删除数据,但不是删除整个表;
如果想删除所有行,不要用DELETE
,而要使用TRUNCATE TABLE
,速度更快(下节课详解)。
更新和删除的指导原则
- 除非确实打算更新和删除每一行,否则绝对不要使用不带
WHERE
子句的UPDATE
DELETE
语句。 - 保证每个表都有主键,并尽可能使用它。
- 在
UPDATE
或DELETE
语句使用WHERE
子句前,应该先用SELECT
进行测试,保证过滤条件的正确性。 - 使用强制实施引用完整性的数据库(见第12课?也没提如何操作啊!),这样DBMS将不允许删除其数据与其他表相关联的行。
小结
更新删除很简单,操作错误很危险。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!