修改 update
update 表名 set 列名=值... where 条件
修改注意事项
- set不能省略
- where可以省略,那么就是修改全部记录
- order by 和 limit 也可以使用
update 操作会修改数据库原始数据
例子:
-- 将a1的语文成绩修改为99分
update exam_result set chinese=99 where name='a1';
-- 将数学分数在[55,59]范围内的同学成绩加5分
update exam_result set math+5 where math between 55 and 59;
-- 将全班总成绩倒数前三的英语成绩+5(不考虑总成绩相同的情况下)
update exam_result set english=english+5 order by (math+english+chinese) limit 3;
修改的常见错误
-- 数据范围不正确
Out of range value for column '字段名' at row 1
知识拓展
mysql 中不同的数据类型: https://www.runoob.com/mysql/mysql-data-types.html
在mysql 添加数据或更新字段数据时,报出 标题异常。
1、字段长度不够 ,这种情况添加字段长度就可以了
2、类型不对,因为在mysql中不同类型的数据类型,存储的字节位数也是不一样的,这样的话就需要更改字段数据类型,其实跟比如使用Mybatis 操作mysql,传参的数据类型也有关系,表中定义的字段为group_id 为int,但是传参为Long 就会出现这个问题,为了解决这个问题,可以修改字段类型为bigint 或者穿的参数类型为integer。
-- 告警
Rows matched: XX Change:XX Warnings:XX
Warnings属于警告⚠️信息,在下一次操作时你需要立即查看才不会消失。
-- 查看警告
show warnings;