當前位置:首頁 » 編程語言 » shell執行sql語句

shell執行sql語句

發布時間: 2022-03-14 10:57:47

1. 如何在mysql shell命令中執行sql命令行

本文介紹 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 下。


2. shell腳本里執行多個sql語句問題

你沒有理解輸入重定向的概念。在你上面的代碼中,mysql -uDDAP -p$2是包含在輸入重定向范圍內的,所以不會提示你輸入密碼的。
你的$1 和$2也沒有定義,可以參考如下寫法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcereAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF

3. 在shell腳本中使用 isql 執行SQL語句 查詢sybase資料庫中滿足條件的記錄條數,怎麼把查詢結果賦給變數

注意此處:
isql -U natuser -P zjtt@nat -S natdb <<END
如下供參考
·1 若要重定向到文件
isql -U natuser -P zjtt@nat -S natdb <<END >out.txt
即將查詢結果重定向到out.txt文件中

·2若要輸出至變數
isql -U natuser -P zjtt@nat -S natdb <<END |read xarg

·3若要循環輸出至變數,可參照read方式類推

4. 如何在shell中運行sql語句

直接在shell運行mysql -uxxx -pxxx db -e "select * from xxx;"

5. 求一個linux下的shell腳本執行mysql的sql語句,但老是 不成功....大神幫忙啊...

簡單的看了一下
第一,第六行a= awk 'NR==2{print $1}' testsss.log 這里是否沒有加``,另外shell下賦值在等號兩側是不允許有空格的,這個不知道是不是你貼在裡面顯示的錯誤
第二,$sqlw取出來的應該就已經是id>3的了,那麼你在for循環里的判斷if [ "$num" -gt "3" ]應該進不去,所以循環里是不會走到if里去的,你可以在if外面列印一下$num的值看看。

6. LINUX的SHELL腳本中中執行資料庫語句

TEST="db2updateTBL_DRP_DEPLOYsetSITE='BEIJING'whereREC_ID=1731andFUNC_ID='C0301016'"
$TEST

7. 在shell腳本執行sql語句為什麼會報錯

在你上面的代碼中,mysql -uDDAP -p$2是包含在輸入重定向范圍內的,所以不會提示你輸入密碼的。
你的$1 和$2也沒有定義,可以參考如下寫法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcereAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF

8. 在shell裡面可以執行postgresql資料庫的sql語句嗎

你好, 不可以的。因為shell不是PostgreSQL的客戶端, 當然不可以執行其SQL語句。 希望回答對您有幫助.

9. 如何在腳本中執行SQL語句並獲得結果輸出

這里需要用到的工具叫做sqlcmd.exe, 它隨SQL server的安裝而安裝. 該可執行程序的位置在:
C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn
其中xxx是你所安裝的SQL Server的版本號.

Version Number

SQL Server 2005 90

SQL Server 2008 100

在SQL 2014中它的位置在:
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
貌似是跟著Client SDK一起被安裝的.
sqlcmd.exe的位置是被加入了環境變數了的, 所以可以在任何路徑下直接調用. 可以通過下面的命令來查看環境變數.
Set | more
可以用以下的方式使用sqlcmd:
命令行中直接互動式執行sql語句
命令行中制定所需執行sql語句的腳本文件和輸出文件
這里再給出一個sqlcmd中直接運行命令的截圖, 除了腳本之外, 這樣也可以更直觀的與SQL Server進行交互.

熱點內容
護網腳本 發布:2025-07-22 03:32:38 瀏覽:4
伺服器有多個網口怎麼查看地址 發布:2025-07-22 03:31:54 瀏覽:235
pda掃描服務密碼是多少 發布:2025-07-22 03:06:11 瀏覽:98
暗影精靈2代配置是什麼 發布:2025-07-22 03:02:07 瀏覽:432
密碼鎖恢復出廠設置後如何設置密碼 發布:2025-07-22 03:02:05 瀏覽:787
linux外網ip 發布:2025-07-22 02:49:23 瀏覽:888
內核和根文件系統的編譯與配置 發布:2025-07-22 02:45:00 瀏覽:589
ps存儲了文件但找不到 發布:2025-07-22 02:39:10 瀏覽:191
dcu反編譯 發布:2025-07-22 02:21:50 瀏覽:161
比亞迪車機安卓什麼版本 發布:2025-07-22 02:19:46 瀏覽:983