mysql对数据表更新的一些基本操作

MySQL / 292人浏览 / 0人评论

本文记录mysql对数据表更新的一些基本操作,更新数据使用关键字update,操作数据库时候,若要批量更新数据,需提前判断是否带上了条件,避免全表被更新带来不必要的麻烦;反正对数据库的任何操作都需要谨慎。

本文记录mysql对数据表更新的一些基本操作,更新数据使用关键字update,操作数据库时候,若要批量更新数据,需提前判断是否带上了条件,避免全表被更新带来不必要的麻烦;反正对数据库的任何操作都需要谨慎。

mysql插入语句(INSERT)

插入语句严格写法
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');

mysql插入后情况

idusernamenicknameagesexbitrhdaycreated_atupdated_at
101AsquNCyaIm1xNZ4Q31312015-05-122024-04-12 22:53:032024-04-12 22:53:03

mysql更新语句(UPDATE)

依据条件(更新多字段严格写法)
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;

mysql更新后情况

idusernamenicknameagesexbitrhdaycreated_atupdated_at
101PnoeVOIt0WuuTPMl3012019-05-122024-04-12 22:57:572024-04-12 22:57:57

https://blog.csdn.net/SHWAITME/article/details/136087128

mysql多条件更新

UPDATE think_demo_user SET age = if(age = 30,
         36,
         31),
         sex = if(sex = 1,
         2,
         1);

mysql多条件更新后情况

如果age=30,则age更新为36其他更新为31;如果sex=1,则sex更新为2,其他更新为1;
idusernamenicknameagesexbitrhdaycreated_atupdated_at
101PnoeVOIt0WuuTPMl3622019-05-122024-04-12 22:57:572024-04-12 22:57:57

mysql批量更新多值 + case when

把表中成绩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;

mysql批量replace更新

UPDATE think_demo_user SET score = replace(score,
         58,
         0),
         score_text = replace(score_text,
         '不及格','不合格')
WHERE id >=2;

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我