當前位置:首頁 » 編程軟體 » cmd執行sql腳本

cmd執行sql腳本

發布時間: 2022-11-26 09:41:29

A. sqlCMD 執行 SQL腳本出錯(手動執行沒問題,SQLCMD執行報錯)

先執行set define off

B. 如何執行一個mysql的sql腳本文件

基本步驟如下:
一、創建包含sql命令的sql腳本文件
文件中包含一系列的sql語句,每條語句最後以;結尾,假設文件名為ss.sql,文件內容示例如下(使用「--」進行注釋):--創建表create table 表名稱(Guid Varchar(38) not null primary key,
Title Varchar(255),
) TYPE=InnoDB;--在表A中增加欄位Status
alter table A add Status TinyInt default '0';--在表A上創建索引
create index XX_TaskId_1 on A(Id_);
--在A表中添加一條記錄
Insert into A (Id,ParentId, Name) values(1,0,'名稱');
--添加、修改、刪除數據後,有可能需要提交事務
Commit;二、執行sql腳本文件方法一 使用cmd命令執行(以windows為例,unix或linux的在其類似的控制台下運行)
格式:【Mysql的bin目錄】\mysql –u用戶名 –p密碼 –D資料庫<【sql腳本文件路徑全名】
示例:D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql注意事項:1、如果在sql腳本文件中使用了use 資料庫,則-D資料庫選項可以忽略
2、如果【Mysql的bin目錄】中包含空格,則需要使用「」包含,如:
「C:\Program Files\mysql\bin\mysql」 –u用戶名 –p密碼 –D資料庫<【sql腳本文件路徑全名】
3、如果需要將執行結果輸出到文件,可以採用以下模式
D:\mysql\bin\mysql –uroot –p123456 -Dtest<d:\test\ss.sql>d:\dd.txt
方法二 進入mysql的控制台後,使用source命令執行
1、進入mysql控制台
D:\mysql\bin\mysql –uroot –p123456 -Dtest
2、執行sql腳本文件

C. 如何執行一個mysql的sql腳本文件

1、利用navicat新建資料庫,也可採取其他方式。

D. cmd怎麼執行sql腳本

先使用cmd連接並打開資料庫,然後才能執行SQL腳本。

E. 如何在C 中用程序執行指定的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腳本文件,再用如上命令導入

F. cmd 執行sql腳本,該怎麼處理

1、微軟的SQL Server資料庫系統帶有一個工具,工具名為SQLCMD.EXE。

2、ORACLE資料庫也帶有一個工具,工具名為sqlplus.exe。
3、ORACLE資料庫:在CMD窗口下,sqlplus 用戶名/密碼@資料庫,進行登錄,然後把腳本文件拖進去就好。
4、SQL Server資料庫系統下,SQLCMD的用法,請在CMD窗口下鍵入 sqlcmd.exe /?去查看。
5、更多詳盡的資料,請網路一下「SQLCMD」或「sqlplus.exe」。

其它的資料庫,有些支持,有些不支持,請針對性的搜索或提問。

G. cmd直接執行sql腳本

以 mysql -h localhost -uroot -ppassword 方式直接將密碼寫入快捷方式,
登陸可以成功,但是如果使用 -e 參數執行語句,會出現
Warning: Using a password on the command line interface can be insecure 錯誤
在MySQL 5.6.6之後可以使用 mysql_config_editor ,它可以把賬戶密碼寫入 */.mylogin.cnf加密

登入 MySQL Serverin 文件夾,執行
mysql_config_editor set --login-path=xxx --host=127.0.0.1 --user=root --password
--login-path 的值只是一個名字,可以隨便寫,
回車,然後輸入密碼,就完成了賬戶信息的寫入

mysql_config_editor print --all

mysql --login-path=xxx
試一下,應該可以登入了

創建快捷方式,快捷方式的

目標:
"C:Program FilesMySQLMySQL Server 5.7inmysql.exe" "--defaults-file=C:ProgramDataMySQLMySQL Server 5.7my.ini" --login-path=try -e "SOURCE C:/Users/Desktop/main.sql;"
注意 -e 後面 路徑中的反斜杠,寫錯了是無法運行的

起始位置:
"C:Program FilesMySQLMySQL Server 5.7in"

H. 如何使用sqlcmd在批處理腳本中執行SQL

使用sqlcmd可以在批處理腳本中執行SQL。雖然這個命令的參數很多,但幸運的是,我們不需要全部理解,在這里簡要介紹以下幾個: { -U login_id [ -P password ] } | –E trusted connection }] 如果指定了-E就不需要指定用戶名密碼,當然指定了用戶名密碼就不用-E了; -S server_name [ \ instance_name ] 資料庫伺服器,如果不在本機的話必須指定; -d db_name 資料庫名字,必須的; [ -i input_file ] [ -o output_file ] sql存在文件里的話用-i,輸出到文件用-o; [ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 輸入是簡單的sql,不用文件,推薦用-Q,如果你執行完sqlcmd還需要執行別的動作的話; [ -W remove trailing spaces ] 刪除多餘的空格,結果會更緊湊。 當我們在真正的腳本中執行sql時,通常需要傳入和輸出變數。 傳入變數比較簡單,如下所示: sqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -W 這個語句從test資料庫的Investment表中選出investor等於x的所有行,注意到變數x被包含在${}中。 然後用-v定義了x的值,'IBM'。 -W確定輸出的結果不包含多餘的空格。 x的值如果沒有在sqlcmd中設定,系統會試圖從別的地方去尋找,可能的地方包括,系統環境變數,用戶環境變數,以及用在sqlcmd之前用set設定的變數值。 如果你的數據里確實包含${},那麼你並不希望進行變數的替換,使用-x選項可以禁止變數的替換。 有些時候,你還希望能獲得sql執行結果並保存到變數中。比如你們的日誌系統每天都在產生日誌文件,你要執行一個腳本來處理這些日誌文件並存到資料庫中。在處理之前,你必須讀取資料庫以確定上次處理到那一天了。你期望這樣能解決你的問題: sqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -W 但這樣並不工作。因為sqlcmd並不提供輸出變數。 不過你可以這樣做: sqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 這樣你就可以得到一個乾乾凈凈的數字,而不會包含列名和其他信息。 接著你將上述結果導入到一個文件里: sqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txt 現在到了最關鍵的一步,將文件的內容寫入到變數里: set /P myvar=<1.txt /p表明這個變數myvar的值需要用戶輸入; <1.txt表明從1.txt中讀入而不是從其他地方讀入。 這樣,我們就巧妙的把sql執行的結果寫入到變數里了。

I. 如何使用sqlcmd在批處理腳本中執行SQL

使用sqlcmd可以在批處理腳本中執行SQL。雖然這個命令的參數很多,但幸運的是,我們不需要全部理解,在這里簡要介紹以下幾個:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用戶名密碼,當然指定了用戶名密碼就不用-E了;x0dx0a-S server_name [ \ instance_name ] 資料庫伺服器,如果不在本機的話必須指定;x0dx0a-d db_name 資料庫名字,必須的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的話用-i,輸出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 輸入是簡單的sql,不用文件,推薦用-Q,如果你執行完sqlcmd還需要執行別的動作的話;x0dx0a[ -W remove trailing spaces ] 刪除多餘的空格,結果會更緊湊。x0dx0a當我們在真正的腳本中執行sql時,通常需要傳入和輸出變數。x0dx0a傳入變數比較簡單,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a這個語句從test資料庫的Investment表中選出investor等於x的所有行,注意到變數x被包含在${}中。x0dx0a然後用-v定義了x的值,'IBM'。x0dx0a-W確定輸出的結果不包含多餘的空格。x0dx0ax的值如果沒有在sqlcmd中設定,系統會試圖從別的地方去尋找,可能的地方包括,系統環境變數,用戶環境變數,以及用在sqlcmd之前用set設定的變數值。x0dx0a如果你的數據里確實包含${},那麼你並不希望進行變數的替換,使用-x選項可以禁止變數的替換。x0dx0a有些時候,你還希望能獲得sql執行結果並保存到變數中。比如你們的日誌系統每天都在產生日誌文件,你要執行一個腳本來處理這些日誌文件並存到資料庫中。在處理之前,你必須讀取資料庫以確定上次處理到那一天了。你期望這樣能解決你的問題:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但這樣並不工作。因為sqlcmd並不提供輸出變數。x0dx0a不過你可以這樣做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a這樣你就可以得到一個乾乾凈凈的數字,而不會包含列名和其他信息。x0dx0a接著你將上述結果導入到一個文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a現在到了最關鍵的一步,將文件的內容寫入到變數里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明這個變數myvar的值需要用戶輸入;x0dx0a<1.txt表明從1.txt中讀入而不是從其他地方讀入。x0dx0a這樣,我們就巧妙的把sql執行的結果寫入到變數里了。

J. 怎樣執行.sql文件

執行.sql文件,可以在mysql命令行裡面執行,步驟如下:

1.使用cmd命令執行(windows下,unix或linux在的其控制台下)

2.【Mysql的bin目錄】mysql –u用戶名 –p密碼 –D資料庫<【sql腳本文件路徑全名】,示例:

D:mysqlinmysql –uroot –p123456 -Dtest

注意:

A、如果在sql腳本文件中使用了use 資料庫,則-D資料庫選項可以忽略

B、如果【Mysql的bin目錄】中包含空格,則需要使用「」包含,如:「C:Program Filesmysqlinmysql」 –u用戶名 –p密碼 –D資料庫<【sql腳本文件路徑全名】

熱點內容
編譯路由器固件選擇 發布:2024-05-19 03:56:28 瀏覽:39
手機f加密 發布:2024-05-19 03:28:47 瀏覽:225
用什麼密碼寫日記 發布:2024-05-19 03:27:57 瀏覽:303
資料庫access2003 發布:2024-05-19 02:49:39 瀏覽:620
碧藍航線pc掛機腳本 發布:2024-05-19 02:30:03 瀏覽:589
腳本fir 發布:2024-05-19 02:28:57 瀏覽:261
阿里雲獨享伺服器 發布:2024-05-19 02:23:54 瀏覽:253
織夢源碼ga 發布:2024-05-19 02:23:20 瀏覽:571
java文件名後綴 發布:2024-05-19 02:14:39 瀏覽:956
快手點榜腳本 發布:2024-05-19 02:08:44 瀏覽:163