Delete&Update_in_MySQL

Mac安装使用Mysql教程(从零开始)

第七章 MySQL基本操作之更新与删除

7.1 更新数据

       可以使用UPDATE语句更新表中数据。基本的UPDATE语句由如下三部分组成:

  • 要更新的表
  • 列名和新值
  • 要更新行的过滤条件

       更新特定行,用 WHERE 指定行:

UPDATE Customers
SET cust_email = 'kim@thetoystore.com'
WHERE cust_id = '1000000005';  #如果没有 WHERE 则默认更新所有行

       更新多个列,SET 子句中添加多个"列=值"对,并用逗号分隔:

UPDATE Customers
SET cust_email = 'sam@toyland.com',
    cust_contact = 'Sam Roberts'
WHERE cust_id = '1000000006';

7.2 删除数据

       使用 DELETE 语句即可,DELETE 语句由如下两部分组成;

  • DELETE FROM 指定要删除的表
  • WHERE 指定要删除的特定行(如果没有 WHERE 则会删除整个表的数据,但不会删除表)

       删除顾客ID为1000000006的那一行:

DELETE FROM Customers
WHERE cust_id = '1000000006';

7.3 更新和删除的指导原则

  • 除非确实打算更新和删除每一行,否则绝对不要使用不带 WHERE 子句 的 UPDATE 或 DELETE 语句。
  • 保证每个表都有主键(如果忘记这个内容,请参阅第 12 课),尽可能 像 WHERE 子句那样使用它(可以指定各主键、多个值或值的范围)。
  • 在 UPDATE 或 DELETE 语句使用 WHERE 子句前,应该先用 SELECT 进 行测试,保证它过滤的是正确的记录,以防编写的 WHERE 子句不正确。
  • 使用强制实施引用完整性的数据库(关于这个内容,请参阅第 12 课),这样 DBMS 将不允许删除其数据与其他表相关联的行。
  • 有的 DBMS 允许数据库管理员施加约束,防止执行不带 WHERE 子句 的 UPDATE 或 DELETE 语句。如果所采用的 DBMS 支持这个特性,应该使用它。

7.4. 参考

[1] Ben Forta.SQL必知必会-中文-第4版
[2] .MySQL 8.0参考手册(pdf)
[3] .MySQL 8.0参考手册(web)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值