Linux 스 크 립 트 데이터베이스 연결 및 SQL 문장 실행

1668 단어 shell
'영영 위층 여자, 창문 으로 휘영청 밝 습 니 다.' 최근 에 받 은 임 무 는 자동 스 크 립 트 를 써 서 데 이 터 를 찾 아 데이터 파일 을 내 보 내 는 것 입 니 다.구체 적 인 절 차 는 다음 과 같다. 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}"

좋은 웹페이지 즐겨찾기