1. 程式人生 > >Linux指令碼連線資料庫並執行SQL語句

Linux指令碼連線資料庫並執行SQL語句

“盈盈樓上女,皎皎當窗牖”
最近收到一個任務就是,需要寫一個自動的指令碼,把資料查出來,並匯出資料檔案;
具體步驟是:1:根據基表生成當天的日表;
2:往生成的日表插入資料;
3:把插入日表的資料匯出來;
具體指令碼及說明如下:

#!/bin/bash
#資料庫連線配置
#ip地址
DBHOST="135.10.59.62"
#埠
DBPORT="3306"
#使用者名稱
DBUSER="root"
#密碼
DBPW="GzzyYfs-2016"
#資料庫名
DBNAME="channel2"
#輸出檔案地址,檔名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}"

相關推薦

Linux指令碼連線資料庫執行SQL語句

“盈盈樓上女,皎皎當窗牖” 最近收到一個任務就是,需要寫一個自動的指令碼,把資料查出來,並匯出資料檔案; 具體步驟是:1:根據基表生成當天的日表; 2:往生成的日表插入資料; 3:把插入日表的資料匯出來; 具體指令碼及說明如下: #!/bin/b

通過cmd命令輸入sqlplus連線資料庫執行資料庫語句

oracle sqlplus 執行sql命令為: 1 :以命令列方式執行SQL命令,只需要在輸入完SQL語句之後,輸入分號(;), 2: 或者在新的一行輸入前斜線(    /   ) 3:按回車鍵即可 以下教你如何連線資料庫及&nb

JDBC終章- 使用 DBUtils實現增刪查改- C3P0Utils資料來源/QueryRunner runner連線資料來源執行sql

JDBC終章- 使用 DBUtils實現增刪查改 1.資料庫結構 Create Table CREATE TABLE `user` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `pas

android 讀取assets下的*.sql執行sql語句

進入正題************ 關鍵程式碼: /** * 讀取資料庫檔案(.sql),並執行sql語句 * @param db * @param d

Python連線MySQL資料庫執行sql語句時的引數問題

由於工作需要,今天寫了一個Python小指令碼,其中需要連線MySQL資料庫,在執行sql命令時需要傳遞引數,結果出問題了。在網上查了一下,發現有以下幾種方式傳遞引數: 一.直接把sql查詢語句完整寫入字串 try: connection = MySQLdb.connect(user

【mysql資料庫】python指令碼執行SQL語句,關於字串變數的注意事項

轉載一篇網友介紹Python 資料庫的Connection、Cursor兩大物件,寫的非常好。 https://blog.csdn.net/guofeng93/article/details/53994112 最新在使用python操作資料庫,發現使用cursor.exec

java連線資料庫執行靜態和動態的sql語句

►JDBC (Java DatabaseConnectivity) 是用於執行SQL 語句的Java 應用程式介面,由一組用Java 語言編寫的類和介面組成。 ►JDBC 是一種規範,各資料庫廠商為J

jdbc連線mysql資料庫執行sql語句ResultSet結果集一直為空

問題描述:ResultSet rs=sqlstatement.executeQuery(sql); 執行後查詢語句後rs一直為空,但是將sql語句放到資料庫中進行查詢卻能得到結果. 解決:sql=“s

使用JDBC連線資料庫並且呼叫儲存過程和執行SQL語句

JDBC呼叫資料庫: package com.hthk.iisz.util; import java.sql.Connection; import java.sql.DriverManager; public class SqlServerConnectionzUtil

為什麽pymysql執行SQL語句提示成功但實際沒有操作數據庫?

PyQt5 Python pymysql 開發環境:Anaconda3+PyCharm2018問題:使用pymysql插入數據提示成功,連接數據庫發現並沒有數據。原因:pymysql在連接數據庫的時候會有一個參數autocommit默認為False,表示執行完SQL語句後是否自動提交到真正的數據庫

JavaFX程式初次執行建立資料庫執行建表SQL

  在我的第一個JavaFX程式完成安裝的時候才突然發現,不能要用這個軟體還要手動執行Sql來建表吧?  於是我的想法是在Main程式中執行時檢測資料庫連線狀況,如果沒有檢測到資料庫或者連線異常,那麼出現錯誤提示,如果資料庫連線沒有問題那麼自動建立資料庫並執行建表Sql進行初始化。 pac

java直接呼叫執行sql指令碼

直接上程式碼 package com.qfx.test; import java.io.File; import java.io.FileReader; import java.io.Reader; import java.nio.charset.Charset; import java.sql

java資料庫程式設計(4) 使用execute方法執行SQL語句

Statement的execute()語句可以執行任何SQL語句,但是它比較麻煩,故通常應該使用executeQuery()或者executeUpdate()方法。 使用exrcute()方法執行只是返回boolean值,它表示執行該SQL語句是否返回了ResultSet物

PHP建立MySQL引入後執行sql語句

一:建立sql.php檔案 <?php function sqlMethod($sql){ $servername = "localhost"; $username = "root"; $password = "root";// 建立連線 $conn = mysqli_con

資料庫關鍵字問題mysql 執行sql語句check關鍵字報錯

mysql 執行sql語句check關鍵字報錯。出錯:因為check為 mysql的保留關鍵字,改名即可。 遇到資料庫語句問題可以參考下這個問題,之前的access資料庫用的check作為表明,程式碼遷移到mysql中,出現錯誤。 資料庫的關鍵字問題-------------------

linux下定時執行sql語句

一  寫需要執行的sql檔案 執行命令:   # vim updata.sql 內容:    update t_channel_terminal set ct_para4='0' ;    com

SQL Server 2012 用JavaJDBC技術連線資料庫查詢表

try{//必須寫在try_catch語句中 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); String str = "jdbc:

unity網路實戰開發(叢林戰爭)-前期知識準備(011-c#連線資料庫實現增刪改查以及sql注入問題)

使用工具:VS2015,Mysql使用語言:c#作者:Gemini_xujian參考:siki老師-《叢林戰爭》視訊教程繼上一篇文章內容,這節課講解一下資料庫的前期連線準備以及通過c# 實現資料庫的增刪改擦操作。首先你需要自行安裝Mysql以及它的workbench元件。然後

Qt資料庫:(三)利用QSqlQuery類執行SQL語句(一)

SQL即結構化查詢語言,是關係資料庫的標準語言。前面已經提到,在Qt中利用QSqlQuery類實現了執行SQL語句。需要說明,我們這裡只是Qt教程,而非專業的資料庫教程,所以我們不會對資料庫中的一些知識進行深入講解,下面只是對最常用的幾個知識點進行講解。我們下面先建立一個工程,然後講解四個知識點,分別是:一,

Hibernate中session.flush()會不會去資料庫執行SQL語句

首先可以確定的是,如果不提交事務的話,雖然會生成SQL語句,但資料庫中的資料並不會改變 測試程式碼如下: 首先我的資料庫中有這些條資料,實體物件為UserModel 程式碼如下 Session session = HibernateUtil.getSessi