码迷,mamicode.com
首页 > 数据库 > 详细

SQL的更新和删除

时间:2020-05-13 23:04:30      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:删除   value   other   rom   tab   关键字   示例   使用   HERE   

 

  1、SQL更新数据

  • 关键字:UPDATE
  • 方式:有两种方式进行更新
    • 更新表中指定的行
    • 更新表中所有的行
  • 示例:
UPDATE table_name
SET some_column = some_value,other_column = other_value
WHERE unique_column = unique_value

  上述示例示更新指定行,若想更新所有的行,那么去掉WHERE子句即可。为了数据的安全性,最好是添加WHERE子句。

-- UPDATE与SELECT结合使用
UPDATE table_name
SET (column1, column2, column3) = (SELECT col1, col2 FROM other_table_name
WHERE some_col = some_value)
WHERE some_column = other_value;


-- UPDATE与FROM结合使用(要看DBMS是否支持)
UPDATE table_name AS t1
SET col1 = t2.column1, col2 = t2.column2
FROM other_table_name AS t2
WHERE t1.some_col = t2.some_col;


-- UPDATE与JOIN结合使用
UPDATE t1 INNER JOIN t2 ON t1.col1 = t2.col1
SET t1.some_col = some_col_value,
      t2.other_col = other_col_value
WHERE t1.condition_col = condition_value;


UPDATE t1 LEFT JOIN t2 ON t1.col1 = t2.col1
SET t1.some_col = some_col_value,
      t2.other_col = other_col_value
WHERE t1.condition_col = condition_value;

  2、SQL删除数据

  • 关键字:DELETE FROM,某些SQL实现中,可以省略FROM关键字,不过建议还是提供FROM关键字
  • 方式:有两种删除方式
    • 删除指定的行
    • 删除所有的行
  • 示例:
DELETE FROM table_name
WHERE some_col = some_value;

  DELETE语句不需要指出列名或者通配符,若没有指定WHERE关键字,那么是删除所有的行。其实,若想删除表中所有行,不要使用DELETE,可以使用TRUNCATE TABLE语句,它完成相同的工作,并且速度要快,因为它不记录数据的变动。

  3、SQL更新和删除操作原则

  • 除非更新或者删除所有行,否则的话必须使用WHERE子句。
  • 保证每个表都有主键。
  • 在更新或者删除之前,最好是先SELECT检索指定的数据,保证WHERE子句过滤的数据正确。
  • 使用强制实施引用完整性的数据库,以防误删与其他表相关联的数据。
  • DMBS应该约束防止不带WHERE子句的更新或删除操作。

 

SQL的更新和删除

标签:删除   value   other   rom   tab   关键字   示例   使用   HERE   

原文地址:https://www.cnblogs.com/bien94/p/12885342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!