简单的UPDATE语句语法格式如下:
其中,column_name 是要更新的列,等号后面的 value 是要更新的目标值,必须符合列的类型定义。WHERE 条件子句指定要更新的行记录必须满足的条件,没有 WHERE 条件子句就是更新表对应列的所有记录。
示例:更新部分记录,违反约束报错
除了显式的 UPDATE 语句外,还有几类语句也可以更新数据。比如说 INSERT 因为约束冲突失败的时候,可以使用 ON DUPCLICATE KEY UPDATE 子句转变为 UPDATE 语句更新相关字段。
关于 INSERT ON DUPLICATE KEY UPDATE 子句
使用 ON DUPLICATE KEY UPDATE 子句时,要求表上面要有主键或唯一约束(索引)。
关于 SELECT … FOR UPDATE 子句
使用 SELECT … FOR UPDATE 可以在读取记录的时候就对记录加锁,避免其他 DML 语句对该笔记录进行同时修改,这种设计通常也称为“悲观锁策略”。
示例:使用 SELECT … FOR UPDATE 先锁定记录后修改