mysql replace into使用
mysql INTO replace 使用
2023-09-27 14:25:36 时间
使用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, '1111'); INSERT INTO stu(cid, name) VALUES(2, '2222');
查看表数据
2、使用REPLACE INTO插入
REPLACE INTO stu(cid, name) VALUES(3,'3333');
查看表数据
可以看到有插入数据
3、REPLACE INTO用法:使用REPLACE INTO时,首先会根据主键或者唯一索引查看表中是否有该条记录,有的话则先删除,然后插入数据;没有该记录则直接插入。示例
REPLACE INTO stu(cid, name) VALUES(3,'33331');
查看表数据
原先id为3的记录变成了id为4了,说明原先id为3的记录先删除了,然后新插入了id为4)(id自增)的新记录
如果针对id和cid都有一条记录进行操作,如下id为4和cid为2的记录都存在,执行以下语句
REPLACE INTO stu(id, cid, name) VALUES(4, 2,'42');
查看表数据
可以看到原先的两条记录都给删除了,然后插入新记录
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, ...
相关文章
- PHP Mysql-简介
- Mysql 查询以某个字符开头的语句和LIKE的使用
- 基于 Java Web +MySQL实现的宾馆管理系统【100010411】
- 【MySQL】MySQL事务隔离级别
- linux 更改 mysql 管理员口令
- 构建操作mysql的类
- 转 zabbix debug and zabbix使用percona插件监控mysql
- MySQL基础之---mysqlimport工具和LOAD DATA命令导入文本文件
- MySQL运维之---mysqldump备份、select...into outfile、mysql -e 等工具的使用
- mysql性能优化-慢查询分析、优化索引和配置
- 数据库原理及MySQL应用 | 并发控制
- 【MySQL】Mybatis-Plus解决多数据源无法输出SQL语句的问题
- spring boot 集成 mybatis,数据库为mysql