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
Run multiple sql files in mysql batch
提问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