一、更新数据
-
更新(修改)表格中的数据,可以使用UPDATE语句。有两种使用UPDATE的方式:
- 更新表中的特定行
- 更新表中的所有行
-
基本的UPDATE语句由三部分组成:
- 要更新的表
- 列名和它们的新值
- 确定要更新那些行的过滤条件
-
举一个简单的例子
/*
UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。没有WHERE子句,
DBMS就会用这个电子邮件地址更新Customers 表中的所有行
*/
UPDATE Customers SET cust_email = '1292043630@qq.com' WHERE cust_id = '100000005';```
- ######更新多个列
/*
在更新多个列时,只需要一个SET命令,每个“列=值”对之间用逗号分割(最后一列之后不用逗号)。
在此例中,在更新顾客100000006的cust_contact 和 cust_email 列。
*/
UPDATE Customers SET cust_contact = 'Ming ge',
cust_email = '1292043630@qq.com'
WHERE cust_id = '100000006';```
二、删除数据
-
从一个表格中删除(去掉)数据,使用DELETE语句。有两种使用DELETE的方式:
- 从表中删除特定的行;
- 从表中删除所有行;
-
举一个简单的例子
/*
DELETE FORM要求指定从中删除数据的表名,WHERE子句结束要过滤的行,它告诉DBMS删除哪一行。
在此例中,只删除顾客100000005。没有WHERE子句,它将删除表中所有的顾客。
*/
DELETE FORM Customers WHERE cust_id = '100000005';```
- #####Tip:
>- DELETE 不需要列名或者通配符。DELETE 删除整行而不是删除列。要删除指定的列,请使用UPDATE语句。
- 删除标的内容而不是表
- DELETE 语句从表中删除行,甚至是删除表中所有的行。但是,DELETE 不删除表本身。
#总结:
- ###SQL使用UPDATE和DELETE 时遵循的重要的原则
- #####除非打算更新和删除某一行,否则绝对不要使用带WHERE子句的UPDATE或DELETE 语句。
- #####保证每个表都有主键,尽可能的像WHERE子句那样使用它(可以指定各主键、多个值或者值得范围)
- #####在UPDATE或DELETE语句使用WHERE子句前,应使用SELECT进行测试,保证它过滤的是正确的记录,以防表写的WHERE子句不正确。
- #####使用枪支实施完整性的数据库,这样DBMS将不允许删除其数据与其他表相关联的行。
- #####有的DBMS允许数据库管理员施加约束,防止执行不带WHERE子句的UPDATE或DELETE 语句。如果采用的DBMS支持这个特性,应该使用它。