1. 如何在shell文件中獲取sql的值
#!/bin/bash
#可以這樣獲取:
words=`mysql -u root -p passwd -BN yourdb -e "select ... from ... where ....;"`
2. 想寫個shell腳本,獲取到SQL中查詢到的欄位的值,賦給shell腳本中定義的變數,寫入文件.txt中.
while read enabledate
do
__aa=$enabledate;
done
echo "$__aa";
3. 請教,shell如何取得sql執行的返回值
shell如何取得sql執行的返回值
個人用過的有兩個辦法: (1)利用變數(可以是數組)接收 (2)利用文件接收(將執行結果倒入某文件,然後讀取該文件)
4. 【討論中】怎麼用shell讀取mysql的返回值
本文介紹 MySQL 8.0 shell 子模塊 Util 的兩個導入特性 importTable/import_table(JS和python 版本的命名差異)、importJson/import_json的使用方法。
其中 import_table 是通過傳統 MySQL 協議來通信,Import_json 是通過 X 插件協議來通信。MySQL 一直以來提供導入文件 SQL 命令 load data infile(單線程)以及對應的可執行文件 mysqlimport(多線程)。
比如我導入 100W 行示例數據到表 ytt.tl1,花了 24 秒。這個已經是 MySQL 默認導入來的最快的。分析那我們現在看下 mysqlimport 工具的升級版,mysqlshell 的 util 工具集。
使用這兩個工具之前,必須得臨時開啟 local_infile 選項。1. import_table建立 3306 埠的新連接我這里切換為 python 模式清空掉示例表 Ytt.tl1import_table 有兩個參數,第一個參數定義導入文件的路徑,第二個定義相關選項,比如導入的格式,並發的數量等。定義文件路徑(參數1)定義選項(參數2)執行導入:只花了不到 17 秒,比傳統 mysqlimport 快了不少。
我們上面指定了顯式指定了欄位分隔符,那有沒有已經定義好的組合格式呢? 答案是有的,選項 dialect 可以指定以下格式:csv,tsv,json,csv-unix那麼上面的導入,我們可以更簡單,改下變數 y_options1 的定義導入時間差不多。這里要說明下,dialect 選項的優先順序比較低,比如添加了'linesTerminatedBy':' ', 則覆蓋他自己的' '。
選項 diaelect 還有一個可選值為 json,可以直接把 json 結果導入到文檔表裡。比如我新建一張表 tl1_json重新定義文件以及導入選項。導入 JSON 數據速度也還可以,不到 24 秒。那導入 json 數據,就必須得提到以 X 插件協議通信的工具 import_json了。2. imort_json我們切換到 mysqlx 埠import_json 參數和 Import_table 參數類似,這里我改下選項我在手冊上沒有看到多線程的選項,所以單線程跑 35 秒慢了些。查看剛剛導入的數據import_json 不僅僅可以導入 Json 數據,更重要的是可以在 BSON 和 JSON 之間平滑的轉換,有興趣的同學可以去 TRY 下。
5. 怎麼在shell腳本裡面獲得sqlplus執行的結果
請參考下面這個方法:
備註:getDbUserByTableName$TableName是獲取表在哪個資料庫的。你可以直接把$DbUSER換成tns串或者別名即可。
#sqlplus連接資料庫的方法
#需要傳入兩個參數,第一個是表名,一個是需要執行的sql語句,一條語句作為一行
sqlBossDb(){
TableName=$1
SqlStr=$2
getDbUserByTableName$TableName
DbUSER=`catdbuser.temp`
Note_Log"$DbUSER連接資料庫,執行語句$SqlStr"
evalecho${$DbUSER}>aaa.temp#查詢出來是sqlDbUser.cfg中DBUSERNAME項,需要換成DBUSERSTR項
DbUSER=`cataaa.temp`
#Note_Log"開始$DbUSER"
sqlplus$DbUSER<<!
setlinesize1000
$SqlStr
commit;
quit
!
e
6. shell腳本執行sql傳出結果
shell腳本執行sql需要輸出結果,可以在shell腳本中寫入語句,執行完成sql語句後,結果定向輸入到一個txt文本文件中,再把txt文本文件存放在固定的文件夾中即可。
7. linux系統如何查看.sql文件內容
第一種方法:
在命令行下(未連接資料庫),輸入 mysql -h localhost -u root -p123456 < F:hello world
iuzi.sql (注意路徑不用加引號的!!) 回車即可.
第二種方法:
在命令行下(已連接資料庫,此時的提示符為 mysql> ),輸入 source F:hello world
iuzi.sql (注意路徑不用加引號的)
或者 . F:hello world
iuzi.sql (注意路徑不用加引號的) 回車即可.Linux命令了解下,如下圖:
8. LINUX下shell腳本如何執行 sql腳本 到DB2資料庫
1、在gedit中編寫.sh格式的文件,保存為a.sh。