mysql导出shell脚本_mysql导入导出csv的shell脚本小例子

导出:

#!/bin/bash

host="172.16.8.191"

port="3306"

user="root"

password="123456"

dbname="db_indicator_drawline"

dbset="--default-character-set=utf-8 -A"

#cmd="show databases"

#databases=$(mysql -h${host} -P${port} -u${user} -p${password} -e "${cmd}")

#for database in ${databases}

#do

#echo ${database}

cmd="show tables"

tables=$(mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -e "${cmd}")

for table in ${tables}

do

if ((13 == ${#table}))

then

echo ${table}

for fid in 10104

do

cmd="SELECT qxmode, 8 as fid,period,datetime,data FROM ${table} where fid = ${fid} and datetime <= 20180901000000"

echo ${cmd}

mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -N -e "${cmd}" > ./tmp/${fid}/${fid}-${table}.csv

done

fi

done

#done

导入:

#!/bin/bash

#Error encountered execution terminated

#set -e

#do something...

#set +e

host="172.16.8.191"

port="3306"

user="root"

password="123456"

dbname="test_db_indicator_drawline"

dbset="--default-character-set=utf-8 -A"

path=./tmp/

dirlist=$(ls -l ${path} | grep '^d' | awk -F' ' '{print $NF}')

for dir in ${dirlist}

do

echo "dir:${path}${dir}" >> dir.log

files=$(ls ${path}${dir})

for file in ${files}

do

echo ${file}

fid=${file%-*}

tablecsv=${file#*-}

table=${tablecsv%.*}

echo ${fid} ${table}

cmd="load data infile '${path}${dir}/${file}' replace into table ${table} (qxmode,fid,period,datetime,data)"

echo ${cmd}

mysql -h${host} -P${port} -u${user} -p${password} ${dbname} -e "${cmd}"

done

done

set 命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值