SQL更新与删除

数据库的更新与删除都不要省略WHERE子句,每次使用都要先考虑使用,否则会更新或是删除所有行
UPDATE的两种使用方式:
1. 更新表中的特定行
2. 更新表中的所有行

语句中需要包含的信息:
1. 要更新的表;
2. 列名和它们的新值;
3. 确定更新过滤出来的行(WHERE)

#更新单列
UPDATE Customers
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = '1000000005';
#更新多列
UPDATE Customers
SET cust_contact = 'Sam Roberts',
    cust_email = 'sam@toyland.com'
WHERE cust_id = '1000000006';

WHERE中可以使用IN子查询

删除数据:DELETE
1. 从表中删除特定行;
2. 从表中删除所有行。

DELETE FROM Customers
WHERE cust_id = '1000000006';

要删除指定,使用UPDATE
如果要想从表中删除所有行,不要使用DELETE,使用TRUNCATE TABLE,它速度更快(因为不记录数据的变动)。

下面补充使用UPDATE和DELETE的使用原则:
1. 除非确实打算删除或是更新每一行,否则不要使用不带WHERE子句的UPDATE/DELETE语句;
2. 保证每个TABLE所有逐渐,尽可能像WHERE子句那样使用它;
3. 在UPDATE/DELETE之前,最好使用SELECT过滤测试一遍,保证过滤出正确的数据,以防编写的WHERE子句不正确;
4. 使用强制实施引用完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的项;(JOIN)

总体来说,DPDATE/DELETE要非常谨慎的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值