20.1 更新数据
使用UPDATE语句可以对表中的数据进行更新:
UPDATE customers
SET cust_email = 'elmer@fudd.com'
WHERE cust_id = 10005;
在使用UPDATE的时候一定要注意,如果不指定WHERE语句,很有可能会更新表中的所有行
-
UPDATE语句基本由三部分组成:
- 要更新的表
- 要设定的列名以及新值(列=值)
- 指定的筛选条件
如果要更新多个列,则需要用将逗号隔开第2部分即可
如果想删除某列的特定值,则指定新值为NULL即可
20.2 删除数据
使用DELETE语句可以从一个表中删除数据,用法类似于UPDATE,但是更加简单、直观:
DELETE FROM customers
WHERE cust_id = 10006;
- 和UPDATE一样,需要格外注意使用WHERE子句来进行条件限定
- DELETE是用来删除整行值,UPDATE可以用来删除特定列的值,这是二者的区别
- DELETE删除的是表的内容,而不是表本身,如果想删除表则需要使用
DROP TABLE table_name;
命令
20.3 更新和删除的原则
UPDATE和DELETE的使用最好遵循以下事项:
- 不要遗漏WHERE语句,除非需要更新或删除每一行;并且在使用WHERE语句之前先用SELECT语句来检验WHERE子句的正确性
- 保证每个表都有主键
- 使用强制实施引用完整性的数据库,确保MySQL不会删除具有与其他表相关联的数据行