MySQL中利用插入语句修改已有的字段的值

在使用MYSQL数据库中经常会碰到语句的增删改查,其中首先就是记录的添加,一般会使用insert into语句。例如有一张表就是记录学生信息的
在这里插入图片描述
里面已经有了几条记录:
在这里插入图片描述
我在插入一条记录,可以写SQL语句:

insert into student (f_master_id,f_name,f_sex,f_age) VALUES(6,'张三丰','男',98);

执行以后,刷新一下可以看到这条记录已经被插入到数据库中了。
在这里插入图片描述
如果我发现插入的年龄太大了,想修改的话,一般也是通过SQL语句update来实现的

update student set f_age=16 WHERE f_master_id = 6;

执行一下可以看到年龄已经被修改了
在这里插入图片描述
但是如果我不使用update呢?或者我已经记不清楚到底有没有插入过这条记录呢?也就是说如果没有这条记录我们就直接插入,如果有的话我们就修改,这说的好像是两件事情,需要使用作出判断然后使用两天SQL语句来执行才可以
没有插入记录使用insert into
已经插入了但是需要修改的使用update

在MYSQL中就是这样独有的语句来完成者同一件事或者是两件事情。

on duplicate key update

作用就是:当insert已经存在的记录时,执行update

insert into student (f_master_id,f_name,f_sex,f_age) VALUES(6,'张三丰','男',98) on DUPLICATE key update f_master_id=6,f_name='张四丰',f_age=13;

执行结果:
在这里插入图片描述

如果我想批量修改语句呢?可以使用关键字values

insert into student (f_master_id,f_name,f_sex,f_age) VALUES(5,'刘一','男',20),(6,'张三丰','男',98) on DUPLICATE key update f_master_id=VALUES(f_master_id),f_name=VALUES(f_name),f_age=VALUES(f_age);

这条SQL语句的意思是:

update student set f_name='刘一',f_age=20 where f_master_id=5;
update student set f_name='张三份',f_age=98 where f_master_id=6;

运行结果:
在这里插入图片描述

aaa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wb175208

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值