簡體   English   中英

在命令提示符下使用批處理文件運行sql腳本

[英]Run sql script using batch file from command prompt

D:
cd Tools/MySQL5/bin
mysql -u root mysql
use xyz;
source C:/Users/abc/Desktop/xyz.sql;
\q

當我在命令提示符下運行以上行時,它工作正常,但是當我將其另存為批處理文件並運行該文件時,它會連接到mysql,但不執行sql腳本。

這應該工作

mysql -u root xyz < C:/Users/abc/Desktop/xyz.sql;

它從文件中獲取SQL命令

現在我看到的錯誤是,在提示符下逐個執行上述命令時,一旦運行mysql -u root mysql ,便進入了mysql控制台。 因此,您的source命令將在那里工作,但在批處理中將無法工作,因為您在運行批處理文件時不在mysql控制台中。

解決方案:為此,您可以使用mysql,而不是使用source

mysql dbname < filename

在您的批處理文件中代替

mysql -u root mysql
use xyz;
source C:/Users/abc/Desktop/xyz.sql;

如果需要, 此鏈接可以為您提供進一步的幫助

你可以這樣寫

mysql -u dbUsername yourDatabase -e "SELECT * FROM table;"

或者,要運行重復任務,請創建一個runtasks.bat文件,將其保存在項目的根目錄下,然后將cmd任務寫入其中

mysql -u dbUser -e "DROP DATABASE IF EXISTS testDatabase;"
mysql -u dbUser -e "CREATE DATABASE testDatabase;"

php index.php migration latest #runs your migration files

cd application\tests
phpunit

這會起作用。

mysql.exe -u user_name -p -h _host_ _schema_ -e "select 1 from dual;"

這也將使您在同一命令終端上輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM