本文记录mysql对数据表更新的一些基本操作,更新数据使用关键字update,操作数据库时候,若要批量更新数据,需提前判断是否带上了条件,避免全表被更新带来不必要的麻烦;反正对数据库的任何操作都需要谨慎。
本文记录mysql对数据表更新的一些基本操作,更新数据使用关键字update,操作数据库时候,若要批量更新数据,需提前判断是否带上了条件,避免全表被更新带来不必要的麻烦;反正对数据库的任何操作都需要谨慎。
插入语句严格写法
INSERT INTO `think_user` (`username`,`nickname`,`age`,`sex`,`birthday`,`created_at`,`updated_at`) VALUES ('AsquNCya','Im1xNZ4Q','31','2','2015-05-12','2024-04-12 22:53:03','2024-04-12 22:53:03');
插入语句简化写法
INSERT INTO think_demo_user (username,nickname,age,sex,birthday,created_at,updated_at) VALUES ('AsquNCya','Im1xNZ4Q',31,2,'2015-05-12','2024-04-12 22:53:03','2024-04-12 22:53:03');
id | username | nickname | age | sex | bitrhday | created_at | updated_at |
---|---|---|---|---|---|---|---|
101 | AsquNCya | Im1xNZ4Q | 31 | 31 | 2015-05-12 | 2024-04-12 22:53:03 | 2024-04-12 22:53:03 |
依据条件(更新多字段严格写法)
UPDATE `think_demo_user` SET `username`='PnoeVOIt',`nickname`='0WuuTPMl',`age`='30',`sex`='1',`birthday`='2019-05-12',`created_at`='2024-04-12 22:57:57',`updated_at`='2024-04-12 22:57:57' WHERE `id` = 101;
依据条件(更新多字段简化写法)
UPDATE think_demo_user SET username='PnoeVOIt',nickname='0WuuTPMl',age='30',sex='1',birthday='2019-05-12',created_at='2024-04-12 22:57:57',updated_at='2024-04-12 22:57:57' WHERE id = 101;
id | username | nickname | age | sex | bitrhday | created_at | updated_at |
---|---|---|---|---|---|---|---|
101 | PnoeVOIt | 0WuuTPMl | 30 | 1 | 2019-05-12 | 2024-04-12 22:57:57 | 2024-04-12 22:57:57 |
https://blog.csdn.net/SHWAITME/article/details/136087128
UPDATE think_demo_user SET age = if(age = 30,
36,
31),
sex = if(sex = 1,
2,
1);
如果age=30,则age更新为36其他更新为31;如果sex=1,则sex更新为2,其他更新为1;
id | username | nickname | age | sex | bitrhday | created_at | updated_at |
---|---|---|---|---|---|---|---|
101 | PnoeVOIt | 0WuuTPMl | 36 | 2 | 2019-05-12 | 2024-04-12 22:57:57 | 2024-04-12 22:57:57 |
把表中成绩score小于60的score_text字段全部更新为不及格,大于等于90的更新为优秀,其他的更新为良好;age_text同理修改。
UPDATE think_demo_user SET score_text =
CASE
WHEN score < 60 THEN
'不及格'
WHEN score >= 90 THEN
'优秀'
ELSE '良好' end, age_text =
CASE
WHEN age <= 24 THEN
'青年'
WHEN age >= 60 THEN
'老年'
ELSE '中年' end;
UPDATE think_demo_user SET score = replace(score,
58,
0),
score_text = replace(score_text,
'不及格','不合格')
WHERE id >=2;
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论