使用查询结果产生的数据批量执行update 或add sql语句

本文介绍了如何从MySQL查询结果生成批量更新或添加数据的SQL语句。首先,通过`INTO OUTFILE`将数据导出到txt文件,然后使用awk命令将txt文件转换为SQL更新语句,并在语句前添加`use`命令指定数据库。最后,通过mysql命令行客户端登录并执行生成的SQL脚本,完成批量操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时需要批量产生数据生成sql语句并执行:


1.先要产生数据:


先在mysql中使用命令行查出所有数据并生成txt格式数据:


select  a,b from test INTO OUTFILE 'txt1.txt';


其中“INTO OUTFILE 'txt1.txt';”会默认将txt1.txt放到/var/lib/mysql下


打开'txt1.txt'结果看到下面数据

1 6
2 7
3 8
4 13
5 14
6 15
7 19
8 20

2.将生成的txt文件转化为sql文件:


用Xshell先进入/var/lib/mysql目录:



输入指令:cat txt1.txt | awk -F " "  '{print "update  money_record set a="$1 " where b="$2 ";" }'>1.sql


这样能够批量生成update语句,别忘了在执行这些语句前要先使用数据库才能执行语句,所以要在这些语句前加上use 数据库名:


使用vi指令能够进入linux vi编辑器:


在Xshell中输入vi 1.sql,进入vi编辑器


然后按 i 编辑1.sql,在语句前加上use 某个database


按ESC退出编辑状态


然后输入 :w Enter 保存


然后输入 :q Enter 退出vi编辑器


3.执行sql语句


输入mysql -u myuser -pmypassword <1.sql 登陆数据库并执行生成的sql语句


这样在mysql数据库中就能查到你刚刚批量修改的数据了,233333333

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值