UPDATE
功能:
- 更新表中特定行
- 更新表中所有行
语句构成
- 要更新的表
- 列名和它们的新值
- 更新时的过滤条件
⚠️:如果忽略了过滤条件,则更新该列的所有行。
范例:
UPDATE Customers
SET email = ‘abc@163.com’,
c_name = ‘abc’
WHERE c_id = 10005;
释义:更新Customers表中,c_id为10005行的c_name为’abc’,email为abc@163.com
特殊情况
如果要指定某行中某列值为空,则设置其值为NULL即可。
如:想把Customers表,c_id为10005的行中,email值设置为空,则:
UPDATE Customers
SET email = NULL
WHERE c_id = 10005;
DELETE
功能:
- 删除所有行
- 删除指定行
语句构成
- 要删除的表名
- 删除的过滤条件
⚠️:如果忽略了过滤条件,则删除表中所有行
范例:
DELETE FROM Customers
WHERE c_id = 10005;
删除Customers表中,c_id为10005的行。
删除所有行
DELETE FROM X_Table;
该句可以删除X_Table中所有行,但是 效率并非最佳 ,推荐使用下面语句,删除表中所有行:
TRUNCATE TABLE X_Table;
它的工作原理是:删除原来的表,并创建一个新表,因此效率更快。
总结(Summary)
- 使用Select语句测试Update和Delete语句,看是否删除了正确的信息。
- MySQL语句没有Undo(撤销)按钮,所以删除或更新要谨慎