Linux脚本连接数据库并执行SQL语句

“盈盈楼上女,皎皎当窗牖”
最近收到一个任务就是,需要写一个自动的脚本,把数据查出来,并导出数据文件;
具体步骤是:1:根据基表生成当天的日表;
2:往生成的日表插入数据;
3:把插入日表的数据导出来;
具体脚本及说明如下:

#!/bin/bash
#数据库连接配置
#ip地址
DBHOST="192.168.1.1"
#端口
DBPORT="3306"
#用户名
DBUSER="root"
#密码
DBPW="root"
#数据库名
DBNAME="test"
#输出文件地址,文件名data_加上日期.AVL,例如data_20180809.AVL
outfilepath="/appdata/mysql/data_"`date "+%Y%m%d"`".AVL"
#基表
tableName="testTable"
#按基表生成的日表,例如testTable_20180809
tableNameNew=${tableName}_`date "+%Y%m%d"`
#建表语句
createTableSql="create table ${tableNameNew} like ${tableName}"
#插入语句
insertSql="INSERT INTO ${tableNameNew} SELECT *

FROM
        tableName
      ;"
#导出文件语句
exportSql="SELECT
        * 
FROM
        ${tableNameNew} a INTO OUTFILE ${outfilepath};"

#建表
function createTable()
{
#这的$1和$2表示再调用方法传进来的参数
                `mysql -h"${DBHOST}" -P"${DBPORT}" -u"${DBUSER}" -p"${DBPW}" -D"$1" -e"$2"`
}

#插入
function insertTable()
{
    `mysql -h"${DBHOST}" -P"${DBPORT}" -u"${DBUSER}" -p"${DBPW}" -D"$1" -e"$2"`
}

#导出
function exportTable()
{
                `mysql -h"${DBHOST}" -P"${DBPORT}" -u"${DBUSER}" -p"${DBPW}" -D"$1" -e"$2"`
}

#执行建表
createTable "${DBNAME}" "${createTableSql}"

#执行插入sql
insertTable "${DBNAME}" "${insertSql}"

#导出数据文件
exportTable "${DBNAME}" "${exportSql}"
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值