SQL—更新和删除数据

一、更新数据

  • 更新(修改)表格中的数据,可以使用UPDATE语句。有两种使用UPDATE的方式:

    • 更新表中的特定行
    • 更新表中的所有行
  • 基本的UPDATE语句由三部分组成:

    • 要更新的表
    • 列名和它们的新值
    • 确定要更新那些行的过滤条件
  • 举一个简单的例子
/*
    UPDATE语句以WHERE子句结束,它告诉DBMS更新哪一行。没有WHERE子句,
    DBMS就会用这个电子邮件地址更新Customers 表中的所有行
*/
UPDATE Customers  SET cust_email = '[email protected]' WHERE cust_id = '100000005';```

- ######更新多个列

/*
在更新多个列时,只需要一个SET命令,每个“列=值”对之间用逗号分割(最后一列之后不用逗号)。
在此例中,在更新顾客100000006的cust_contact 和 cust_email 列。
*/
UPDATE Customers SET cust_contact = 'Ming ge',
cust_email = '[email protected]'
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支持这个特性,应该使用它。

你可能感兴趣的:(SQL—更新和删除数据)