MariaDB SQL 更新和删除数据
为了凸显数据库操作的更为重要的主题,以下内容置顶。
更新和删除数据的准则:
- 不要在执行UPDATE或DELETE时不使用WHERE子句,除非你真的打算更新或删除每一行。
- 确保每个表都有主键,并且只要有可能都将其用于WHERE子句。
- 在使用带有WHERE子句的UPDATE或DELETE之前,先用SELECT语句测试,确保过滤除了正确的记录。
- 在使用数据库时,实施参照完整性以便MariaDB不允许删除那些数据关联其他表中的数据的行。
更新数据
UPDATE customers SET cust_email = 'elmer@fudd.com' WHERE cust_id = 10005;
更新多列:
UPDATE customers SET cust_name = 'The Fudds', cust_email = 'elmer@fudd.com' WHERE cust_id = 10005;
如果使用UPDATE语句更新多行,并且当更新一行或多行产生错误时,整个UPDATE操作都会被取消。
为了在即使出现错误时,继续执行更新操作可以使用关键字IGNORE
UPDATE IGNORE customers ...
删除列值(不是删除数据):
UPDATE customers SET cust_email = NULL WHERE cust_id = 10005;
删除数据
DELETE FROM customers WHERE cust_id = 10006;
DELETE语句从表中删除单独的一行。
DELETE从来都是删除表中的内容,而不是表本身。就算表中所有的行都被删除,DELETE语句也不会删除表本身。
更快的删除:如果真的想要清空表中所有的行,不要使用DELETE,而是使用TRUNCATE TABLE语句。