【shell脚本批量查询数据库数据】

背景

给出excle 表格显示1000+条数据的id,需要查询每个id所对应的url,使用SQL语句直接查询数据很多,较为麻烦,采用shell脚本的方式批量执行,快速查询。

一、mysql -x参数使用

在shell中使用shell脚本操作mysql数据库,使用mysql的-x参数可以执行各种sql的操作,详细说明如下:

mysql -u 用户名
mysql -p 'MYSQL登录密码 ’
mysql -h 主机ip
mysql -P 端口
mysql -e 相关mysql的sql语句(增删改查等操作)

二、shell脚本

1.先将文件id.xlsx格式转成id.csv格式,方便shell读取数据

格式转换完成,输入rz命令回车,选择id.csv文件,将目标文件存放到固定目录中

2.编写脚本test.sh

代码如下:

#!/bin/bash
set -x
dbuser='####' # 数据库用户名
dbhostname='127.0.0.1' # 数据库主机IP
dbpasswd='####' # 数据库密码
dbname='db_test' # 数据库名
tablename='table_play' # 数据库表名

# 循环遍历目标文件所有id
for id in `cat /tmp/id.csv`
do
    echo $Id `mysql -u$dbuser -h$dbhostname -p$dbpasswd -e "use $dbname;select id,url from $tablename where id=$Id;"` >>/tmp/result.csv
done           

/tmp/id.csv,目标文件存放的目录
/tmp/result.csv, 输出文件存放的目录

3.执行脚本

chmod +x ./test.sh
./test.sh          

脚本执行完毕使用sz result.csv将输出结果保存到本地查看!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值