Ⅰ 怎樣使用命令行執行DB2的sql
一、准備工作
運行db2cmd或者db2cw打開DB2命令行處理器
進入SQL腳本存放目錄
用db2 connect to <dbname> user <username> using <password> 命令連接資料庫
用db2 set current schema <schema_name> 設置當前的SCHEMA,這個SCHEMA可以是未創建的,DB2會自動創建。
二、執行不同類型的SQL
1、在命令行執行簡單SQL命令
db2 <SQL語句內容>
2、在命令行執行SQL腳本文件
db2 -td; -cf <SQL腳本文件路徑> -l <輸出日誌文件路徑>
說明:-td; 指定語句結束標志。因為一般SQL都是以分號結尾,所以就寫成「-td;」。
-l <輸出日誌文件路徑> 是可選的。
3、在命令行執行DB2 存儲過程文件
db2 -td@ -f <SQL過程文件路徑> -l <輸出日誌文件路徑>
說明:-td@ 指定語句結束標志。因為一般SQL過程都是以@結尾,所以就寫成「-td@」。
-l <輸出日誌文件路徑> 是可選的。
Ⅱ oracle怎麼用命令執行sql文件
Oracle執行外部文件:
c:>sqlplus user/pwd@db
sql>@new.sql
執行多個sql文件:
1.把所有的文件都放在同一個目錄下,然後在命令行里執行命令:
c:>dir/b > d:/1.sql
會把所有的sql文件名都輸出到一個sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column mode,給所有的行前都添加一個"@",保存。
3.在sqlplus中執行"@d:/1.sql"
如何避免'&'字元:
sql中&可以傳遞參數,但有時需要插入'&',例:
SQL> select '&hello' v from al;
輸入 hello 的值: hello
原值 1: select '&hello' v from al
新值 1: select 'hello' v from al
v
-----
hello
可以使用如下方法避免:
A:
SQL> select chr(38) || 'hello' v from al;
V
------
&hello
B:
SQL> set define off
SQL> select '&hello' v from al;
V
------
&hello
Ⅲ 如何在DB2命令窗口執行sql腳本
DB2 命令行中執行sql腳本如下:
db2 => connect to dbName user xxx using password
db2 => sql語句
如果要執行一個sql腳本文件:
db2 => quit
c:\> db2 -tvf sql文件名
db2 -td@ -f filename
@是語句結束符。
E:\>db2 ? options
db2 [option ...] [db2-command | sql-statement |
[? [phrase | message | sqlstate | class-code]]]
option:-a、-c、-e{c|s}、-finfile、-lhistfile、-n、-o、-p、-rreport、-s、-t、
-td;、-v、-w、-x 和 -zoutputfile。
選項 描述 預設設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-l 將命令記錄到歷史文件中 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示 db2 互動式提示符 ON
-r 將輸出報告保存到文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回送當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF
注意:
使用 DB2OPTIONS 環境變數定製選項預設值。
緊跟選項字母後的減號(-)使該選項關閉。
使用 UPDATE COMMAND OPTIONS 更改選項設置(以互動式或
文件輸入方式)。
只能提供nt環境下編寫腳本的例子給你以供參考:
腳本樣例:
db2 connect to yourdb user yourname using yourpassword
db2 insert into newuser(username,password,email) values('Amy','1234','[email protected]')
db2 insert into newuser(username,password,email) values('Judy','1234','[email protected]')
db2 commit
db2 disconnect yourdb
運行腳本: 運行db2cmd X:\XXX.bat
以下摘自本論壇的FAQ可參考:
"
在命令窗口中運行DB2腳本,可用 db2 -svtf 腳本文件名 來實現。
例如,腳本文件名為sample.sql,運行:db2 -svtf sample.sql
參數中:
s 代表遇到錯誤時中止運行腳本
v 代表輸出結果到屏幕
t 指以;號作為每行的分隔符
f 指後面需跟腳本文件名 "---此摘錄版權歸斑竹非本人所有
具體在AS400如何編寫腳本非常遺憾.
db2 -x select SERIALNO from tabname where clause
C:>db2 attach to db2164 user ccp
輸入 ccp 的當前密碼:
實例連接信息
實例伺服器 = DB2/NT 8.2.0
授權標識 = CCP
本地實例別名 = DB2164
C:>db2 connect to dw164 user ccp
輸入 ccp 的當前密碼:
資料庫連接信息
資料庫伺服器 = DB2/NT 8.2.0
SQL 授權標識 = CCP
本地資料庫別名 = DW164
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
CUST_ID NOW_PRED_S LOAD_TIME
-------------------- -------------------- --------------------------
3094736. ZFS 2008-05-07-10.02.00.453000
3145886. ZFS 2008-05-07-10.02.00.453000
2 條記錄已選擇。
C:>db2 list command options
命令行處理器選項設置
後端進程等待時間(秒) (DB2BQTIME) = 1
連接至後端的重試次數 (DB2BQTRY) = 60
請求隊列等待時間(秒) (DB2RQTIME) = 5
輸入隊列等待時間(秒) (DB2IQTIME) = 5
命令選項 (DB2OPTIONS) = +m
選項 描述 當前設置
------ ---------------------------------------- ---------------
-a 顯示 SQLCA OFF
-c 自動落實 ON
-d 檢索並顯示 XML 聲明 OFF
-e 顯示 SQLCODE/SQLSTATE OFF
-f 讀取輸入文件 OFF
-i 顯示 XML 數據並帶有縮進 OFF
-l 將命令記錄到歷史記錄文件中 OFF
-m 顯示受影響的行數 OFF
-n 除去換行字元 OFF
-o 顯示輸出 ON
-p 顯示互動式輸入提示符 ON
-q 保留空格和換行符 OFF
-r 將輸出保存到報告文件 OFF
-s 在命令出錯時停止執行 OFF
-t 設置語句終止字元 OFF
-v 回傳當前命令 OFF
-w 顯示 FETCH/SELECT 警告消息 ON
-x 不列印列標題 OFF
-z 將所有輸出保存到輸出文件 OFF
C:>db2set DB2OPTIONS=-x
C:>db2 select * from CCP_STS1 fetch first 2 rows only with ur
4654908. ZFS 2008-05-07-10.02.00.453000
3716687. ZFS 2008-05-07-10.02.00.453000
Ⅳ 進入PLSQL的命令窗口,輸入SQL語句後,應該如何執行
1、首先在電腦中,找到並登錄PLSQL,如下圖所示。
Ⅳ 執行sql語句錯誤是什麼意思
執行sql語句錯誤是什麼意思?方法/步驟分步閱讀
1
/4
情況一:sql語句中存在中文字元
解決方法:將「最終執行」的sql語句復制到命令行中並執行,如果執行失敗,對照sql語句在英文狀態下再「認真」敲一遍
2
/4
情況二:sql語句語法錯誤,如缺少標點、括弧等
解決方法:網路查詢並學習標准sql語句,按照「最小化范圍」原則,從最簡單的sql語句開始,逐漸完善到目標sql語句,如
完整sql:insert into user(name,password,birtyday) values("ss","ss",new Date()) ;
--->insert into user(name,password) values("ss","ss") ;
--->insert into user(name,password,birtyday) values("ss","ss",new Date()) ;
這里是逐個排除某一屬性的插入是否有問題,對於屬性可能出現的問題包括:名稱是否一致,屬性是否唯一或是否為空,長度是否有限制,所插入的值是否多加了雙引號等。
3
/4
情況三:sql語句中混入了不合法的關鍵詞
如:insert into user(name,password,describe) values("ss","ss","ww") ;
乍一看沒什麼問題,但執行時會出現錯誤,這里主要是因為describe為sql中的關鍵詞,所以識別sql語句時就會出現異常
解決方法:換個變數名,盡量不要與內置關鍵詞沖突
4
/4
第三種情況不常見,但遇到了卻是很難想到和派出的
Ⅵ 怎麼把sql文件直接在sql命令行里執行
1、用cmd命令打開DOS命令行窗口
2、用sqlplus命令進入SQL命令狀態,命令行如下:c:\sqlplus/nolog
3、用如下命令連接資料庫:connect 資料庫用戶名/密碼@sid_ip,如:sql>connectionljm/ljm@ljm_localhost(本機資料庫)
4、用如下命令執行腳本文件sql>@完整路徑文件名
5、如果要導入SEQUENCE的話,可以用toad工具先生成SEQ腳本文件,再用如上命令導入
Ⅶ 如何用命令行執行mysql的sql文件
如何用命令行執行mysql的sql文件
首先要配系統變數,在我的電腦->屬性->高級系統設置->環境變數->找到Path,加入你電腦上的mysql地址下的bin目錄,如c:/wampp/mysql/bin
:打開CMD輸入以下命令(不需要轉換目錄)
> mysql -u root -p
ENTER PASSWORD:
進入MYSQL後
mysql>use test;
mysql> source c:/test.sql
ok執行完了
你可以用show tables;查看有哪寫表(記得語句後有個分號)還可以用desc tableName;查看你的表結構
Ⅷ Linux下如何運行sql腳本
Linux運行sql腳本的具體操作步驟如下:
1、使用shell工具登陸到安裝postgresql的伺服器,切換到postgres用戶,postgresql默認的操作用戶,命令是:su - postgres,查看當前路徑是/var/lib/psql,創建一個test.sql腳本文件,命令是:vim test.sql。
Ⅸ 如何在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 下。