使用mysql插入数据时,我们通常使用的是insert into来处理,replace into有时可以替代insert into功能,但replace into也有自己的用法

准备一张测试表:

CREATE TABLE `stu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cid` int(11) NOT NULL,
`name` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `cid` (`cid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

其中id为自增主键,cid为唯一索引。

1、插入两条数据

INSERT INTO stu(cid, name) VALUES(1, '');
INSERT INTO stu(cid, name) VALUES(2, '');

查看表数据

2、使用REPLACE INTO插入

REPLACE INTO stu(cid, name) VALUES(3,'');

查看表数据

可以看到有插入数据

3、REPLACE INTO用法:使用REPLACE INTO时,首先会根据主键或者唯一索引查看表中是否有该条记录,有的话则先删除,然后插入数据;没有该记录则直接插入。示例

REPLACE INTO stu(cid, name) VALUES(3,'');

查看表数据

原先id为3的记录变成了id为4了,说明原先id为3的记录先删除了,然后新插入了id为4)(id自增)的新记录

如果针对id和cid都有一条记录进行操作,如下id为4和cid为2的记录都存在,执行以下语句

REPLACE INTO stu(id, cid, name) VALUES(4, 2,'');

查看表数据

可以看到原先的两条记录都给删除了,然后插入新记录

4、REPLACE INTO 使用形式

1. replace into tbl(col_name, ...) values(...)

2. replace into tbl(col_name, ...) select ...

3. replace into tbl set col_name=value, ...

最新文章

  1. fedora23的打印服务
  2. python成长之路【第十篇】:浅析python select模块
  3. Atitit.会员卡(包括银行卡)api的设计
  4. 微信不支持Object.assign
  5. yii2接收activeform表单信息
  6. VPN推荐
  7. 最新微信小程序(应用号)视频教程,实战教程
  8. contentprovider的学习实例总结
  9. php字符串常见面试题
  10. 局部加权回归LOWESS
  11. How Tomcat Works读书笔记三-------连接器
  12. 【转载】Win7利用任务计划程序实现定时关机
  13. JAVA并发包学习
  14. Flex 弹性布局——笔记
  15. 用大O记号法测量算法的效率(Algorithm efficiency Asymptotic notation Big O notation)
  16. nginx 基于uwsgi部署Django
  17. KenBurns特效组件KenBurnsView
  18. HDU4278
  19. js将图片转换为base64
  20. cakePHP 分页栏

热门文章

  1. sql查询技巧指南
  2. Java8 日期 API 业务使用
  3. 2018宁夏邀请赛I题 bubble sort(思维题
  4. UOJ 34 多项式乘法 FFT 模板
  5. 2015北京区域赛 Xiongnu's Land
  6. 2018 Multi-University Training Contest 2(部分题解)
  7. 【Offer】[28] 【对称的二叉树】
  8. 相同类中方法间调用时日志Aop失效处理
  9. Day004_Linux基础命令之特殊符号与正则表达式通配符
  10. 章节十六、8-ITestResult接口