开发同事给我了一个txt文档,里面都是id,需要在某个库的某张表根据id查出对应的另外两个字段的值,因为id的数量很大,所以这里选择用脚本的方式批量去查询。
txt文档我将它放在了/root目录下。

脚本内容:

#!/bin/bash
set -x
# 数据库信息
# 连接数据库的信息
dbuser='root'
# 连接的host
dbhostname='127.0.0.1'
# 数据库密码
dbpasswd='******'
# 数据库名
dbname='***'
# 数据库表名
tablename='******'

# 查询函数 mysql -e表示要执行的命令
for Id in `cat /root/id.txt`
do
    echo $Id `mysql -u$dbuser -h$dbhostname -p$dbpasswd -e "use $dbname;select item01,item02 from $tablename where Id=$Id;"` >>/root/result.txt
done

或者写成:

#!/bin/bash
set -x
# 数据库信息
# 连接数据库的信息
dbuser='root'
# 连接的host
dbhostname='127.0.0.1'
# 数据库密码
dbpasswd='******'
# 数据库名
dbname='***'
# 数据库表名
tablename='******'

# 查询函数 mysql -e表示要执行的命令
for Id in `cat /root/id.txt`
do
   select_sql="select item01,item02 from $tablename where Id=$Id;"
   echo $Id `mysql -u$dbuser -p$dbpasswd $dbname -e "${select_sql}"` >> /root/result.txt 
done

将要查询的Id名和两个查询到的字段的结果都输出到文件result.txt中,删掉输出的字段名,就是我们需要的查询结果了。
脚本批量查询的方式可以大大提高查询效率。

posted on 2021-09-22 15:31  jiayou111  阅读(928)  评论(0编辑  收藏  举报