有人可以将我链接到教程或解释是否有办法创建某种mysql脚本/存储过程的批处理文件并同时运行它们?我似乎无法在网上找到这方面的任何文件,但我觉得我可能会使用错误的条款进行搜索。
答案 0 :(得分:6)
您可以简单地创建一个文本文件,其中SQL语句用;然后使用MySQL命令行客户端执行所有语句:
# my_textfile.sql
# ---------------
USE my_database;
SELECT * FROM table1;
UPDATE table2 SET foo='bar';
Command Line:
mysql < my_textfile.sql
答案 1 :(得分:4)
您可以使用source命令(details of command line options)在脚本中调用mysql脚本来链接mysql脚本
# my_textfile.sql
# ---------------
USE my_database;
\. subscript1.sql
\. subdir/subscript2.sql
\. /full/path/to/subscript3.sql
Command Line:
mysql < my_textfile.sql
如果您要编写可能需要密码/用户帐户的文件脚本,请不要忘记命令行选项。
mysql -uyouraccount -pyourpassword YourDatabase < mytextfile.sql
这不是最安全的方法,因为它将您的用户名/密码放在命令行上,但它有效。如果您正在编写大量脚本,我建议您查看.my.cnf以及用于保存帐户/密码的各种选项(以及保护该文件)。
答案 2 :(得分:0)
对于在OS X Yosemite上运行MAMP PRO的窥视,我能够通过从终端运行来获取所有* .sql脚本(导入):
/Applications/MAMP/Library/bin/mysql -h localhost -u root -p < /Applications/MAMP/myDBRestore.sql
myDBRestore.sql
包含对所有MySQL DB脚本的引用,如下所示:
\. /full/path/to/sql/file1.sql
\. /full/path/to/sql/file2.sql
\. /full/path/to/sql/file3.sql
...
\. /full/path/to/sql/file(n).sql
其中n
是目录中的最后一个.sql
文件。