有时需要批量产生数据生成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