這里需要用到的工具叫做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進行交互.
❷ shell中調用sql 語句,再將結果返回shell作為變數
1、用sqlldr把數據導出到文件中。
2、再從文件中把數據讀出來。
※我們實際項目中是這么做的。
--
以上,希望對你有所幫助。
❸ SHELL腳本如何處理sql執行結果
pid id
1 2
1 3
1 4
1 5
2 3
2 4
3 5
存放在6.txt中,可以用工具將數據轉換為SQL,然後拷貝到執行SQL的工具中執行
cat6.txt|awk'NR>1{printf("insertintotable_name(pid,id)values("%s","%s"); ",$1,$2);}'
輸出:
insert into table_name (pid,id) values ("1","2") ;
insert into table_name (pid,id) values ("1","3") ;
insert into table_name (pid,id) values ("1","4") ;
insert into table_name (pid,id) values ("1","5") ;
insert into table_name (pid,id) values ("2","3") ;
insert into table_name (pid,id) values ("2","4") ;
insert into table_name (pid,id) values ("3","5") ;
如果需要插入在一個事務中完成,可以視資料庫類型自己在SQL前後增加
begin
commit
這類語句。
❹ 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 下。
❺ shell腳本執行.sql文件
<script type="text/javascript">
Leaf leaf = new Leaf("Leaf D");
root.Add(leaf);
root.Remove(leaf);
root.Display(1);
Console.Read();
}
❻ linux怎麼執行sql文件命令
以下舉個例子,在shell下執行sql命令然後馬上回到shell.
其中mysql密碼和賬號都是www
$
mysql
-uwww
-pwww
-hlocalhost
-e
"show
databases;"
+--------------------+
|
database
|
+--------------------+
|
information_schema
|
+--------------------+
$
如果要執行不止一條命令,則可以先寫到一個文件中,然後再用輸入重定向完成。比如我可以把sql指令都寫到/tmp/sqltest中然後
$
mysql
-uwww
-pwww
-hlocalhost
<
/tmp/testsql
database
information_schema
$
#註:為方便,我
testsql
中還是只有一條命令,還是
show
databases;
❼ 請教,shell如何取得sql執行的返回值
shell如何取得sql執行的返回值
個人用過的有兩個辦法: (1)利用變數(可以是數組)接收 (2)利用文件接收(將執行結果倒入某文件,然後讀取該文件)
❽ 如何在shell腳本中,判斷一個基本命令執行是否成功
1.連接到相應的Linux主機,進入Linux命令行狀態,等待shell命令的輸入。
❾ shell腳本執行sql傳出結果
shell腳本執行sql需要輸出結果,可以在shell腳本中寫入語句,執行完成sql語句後,結果定向輸入到一個txt文本文件中,再把txt文本文件存放在固定的文件夾中即可。
❿ linux shell執行sql
1.shell中執行sql
export ORACLE_SID=ORCL
sqlplus -S /nolog @/home/oracle/test.sql #注意此處執行sql腳本的方法 -S 表示以靜默方式執行
exit
2.test.sql中要加入連接
conn scott/tiger@orcl
set time on
.......
exit;