修改数据
1、语法
UPDATE 表名称 SET 字段名1 = 值1, 字段名2=值2,…… 【WHERE 条件】; |
UPDATE 表1,表2,…… SET 表1.字段名1 = 值1, 表1.字段名2=值2,表2.字段1 = 值1, 表2.字段2=值2…… 【WHERE 条件】; |
2、说明
- 如果不写where条件,会修改所有行
- 值可以是常量值、表达式、函数
- 可以同时更新多张表
如果两个表没有建立外键,但逻辑上有外键关系
- 如果修改从表外键字段的数据,要注意查看主表参照字段的值是否存在
- 如果修改主表的被参考的字段的值,要注意查看从表的外键是否有依赖该值,如果有
- 如果外键是on update RESTRICT或on update NO ACTION,那么要先处理从表的数据,才能修改
- 如果外键是on update SET NULL 或 on update CASCADE,那么直接修改,从表的外键字段会自动处理
3、示例
#修改所有人的基本工资,涨薪5% UPDATE t_salary SET basic_salary = basic_salary * 1.05; |