MySQL 在mysql批处理中运行多个sql文件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2458571/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 15:32:48  来源:igfitidea点击:

Run multiple sql files in mysql batch

mysqlbatch-file

提问by hmak

to run a single file you can run in mysql

要运行单个文件,您可以在 mysql 中运行

.\ filename

。\ 文档名称

or you outside of mysql you can run

或者你可以在mysql之外运行

mysql < filename

mysql < 文件名

I have a directory of sql files so I'm trying to run them all at once by using a wildcard

我有一个 sql 文件目录,所以我试图使用通配符一次运行它们

*.sql

*.sql

but it doesn't work.

但它不起作用。

Any ideas?

有任何想法吗?

回答by Etienne Dechamps

Assuming you're using bash:

假设您正在使用 bash:

cat *.sql | mysql

cat *.sql | mysql

回答by Anuchit

for %S in (*.sql) do mysql -u user_name database_name < %S

or

或者

mysql -u user_name -p password database_name < file.sql

回答by mpschmitt

For Windows:

对于 Windows:

FOR %%A IN ("*.sql") DO "D:\mysql\Install\MySQL Server 5.5\bin\mysql" --user=scooby --password=pwd123 databasename < %%A >output.tab

回答by Ignacio Vazquez-Abrams

bash:

重击:

mysql < <(cat *.sql)

回答by Sr.PEDRO

bash:

重击:

for sql_file in `ls /path/to/directory/*.sql`; do mysql -uUSER -pPASSWORD DATABASE < $sql_file ; done