mysql的几种插入语句_Mysql 几种常见的插入 Insert into,Replace Into,Insert ignore

简要说下三者的区别:insert into 最普遍的插入,如果表中存在主键相同的数据,执行会报错。

replace into 如果表中存在主键相同的数据则根据主键修改当前主键的数据,反之则插入(存在就修改,反之插入)

insert ignore  如果表中存在主键相同的数据不在插入该条数据,反之则插入(存在则忽略,反之插入)

测试:

1.新增一张测试表 并预置数据

CREATE TABLE`insert_text` (

`id`varchar(50) NOT NULL,

`value`varchar(50) DEFAULT NULL,

`memo`varchar(50) DEFAULT NULL,PRIMARY KEY(`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `insert_text` (`id`, `value`, `memo`) VALUES ("1", "2", "3");

6e475815a8636e736ac66379e2b0d467.png

2.检测replace into执行效果

(1)执行语句(该语句的ID与预置数据的ID相同):

REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES ('1', 'replace', 'replace');

执行结果:

bab16317f5003912eac0a5b7e21b7247.png

a6750747307de09344994f14007068bc.png

(注意:这里返回的受影响行数为2,所以在统计插入数据成功的条数需注意下)

(2)执行语句(该语句的ID与预置数据的ID不同):

REPLACE INTO `insert_text` (`id`, `value`, `memo`) VALUES ('2', 'replace', 'replace');

执行结果:

d52bc2216bb009504cc4570efea9170e.png

5d6dbc2f8188f20dc5eb1e702fd3cf84.png

在这里因为主键不同,可以理解为执行了insert into

3.检测insert ignore执行效果:

(1)执行语句(该语句的ID与预置数据的ID相同):

INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES ('1', 'ignore', 'ignore');

073f2b912a2da89358eab30eb6cf5f20.png

18124d1a543fbe13ffd19135afedd5d2.png

数据未发生改变

(2)执行语句(该语句的ID与预置数据的ID不同):

INSERT IGNORE `insert_text` (`id`, `value`, `memo`) VALUES ('2', 'ignore', 'ignore');

0cae302a359e35f1f8bfd288d0ed6b7c.png

e4ee0bba24ff33872046cd597115f2f3.png

在这里因为主键不同,可以理解为执行了insert into

好了,测试完成,需要根据不同的场景选择对应的插入方式----------------fillt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值