MySQL中使用replace into语句批量更新表数据

摘要:
如您所见,replaceinto语句有更多的主键来确定是执行插入操作还是更新操作。这是一个非常有用的指令。

作为示例,我们在这里使用名为testdb的数据库,并且在其中创建两张一模一样的表:

drop table if exists test_table_1;
create table test_table_1 (
    name varchar(30) primary key,
    age integer
);
drop table if exists test_table_2;
create table test_table_2 (
    name varchar(30) primary key,
    age integer
);

然后我们往两张表里面插入一些数据,其中test_table_1中我们插入3组数据:

insert into test_table_1 (name, age) values ("刘德华", 57), ("周杰伦", 39), ("周润发", 61);

但是我们发现除了这三个人以外,我还要新增两个人,并且周润发的年龄信息也填写错了,那么我暂时先把信息插入到test_table_2中:

insert into test_table_2 (name, age) values ("陈绮贞", 43), ("范晓萱", 41), ("周润发", 63);

然后我们尝试一下,通过以下replace into语句将test_table_2中的信息更新到test_table_1中:

replace into test_table_1 select * from test_table_2;

通过如下语句查看test_table_1的结果:

select * from test_table_1;

可以看到结果如下:

nameage
刘德华57
周杰伦39
周润发63
范晓萱41
陈绮贞43

我们往test_table_1中成功新增了两位女歌手,同时也修改了周润发的年龄。
可以看到,replace into语句会更具主键是否存在来决定是进行insert操作还是update操作,是一个非常有用的指令。

免责声明:文章转载自《MySQL中使用replace into语句批量更新表数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C# 中的#if、#elif、#else、#endif等条件编译符号linux内核内存分配(三、虚拟内存管理)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL慢查询(二)

一、简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的...

mysql:mysql安装及一些配置和图形界面介绍

关于mysql,我使用的不多,这次记录是在学习一位大牛的demo的契机下完成的。包括前面记录到的sqlserver的一些知识点,也是在新的项目组中协助时候学习记录的。希望通过记录加深印象和帮助后来者。 言归正传: 一、安装版的mysql 1.数据库版本:mysql 5.6 (网上有资源)我的安装目录 2.图形化界面:这个在网上搜索的话,会有一大堆介绍,在这...

mysql 判断null 和 空字符串

mysql 判断null 和 空字符串 1.在mysql中null 不能使用任何运算符与其他字段或者变量(函数、存储过程)进行运算。若使用运算数据就可能会有问题。 2.对null 的判断: 创建一个user表:id 主健 name 可以为空 select * from user; insert into user values('33',null); #...

shell脚本应用练习(4)

一:正则表达式grep -a   不要忽略二进制数据。 -A  <显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容。 -b   在显示符合范本样式的那一行之外,并显示该行之前的内容。 -c   计算符合范本样式的列数。 -C  <显示列数>或-<显示列数>  除了显示符合范本样式的那一列之外,并显示该列...

mysql编码修改

一、查看character_set 变量 show variables like '%character%'; 二、对8个变量解释(mysql5.7,不同版本存在有的变量名没有) 变量名 解释 character_set_client 主要用来设置客户端使用的字符集。 character_set_connection 主要用来设置连接数据库时的字符集...

MySQL之IDE工具介绍及数据备份

一、IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二、MySQL数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境( 如数据文件、控制文件、归档日志文件等)。但不能恢复到异构系统中如Windows。 #2. 逻辑...