Constantine Gladky Constantine Gladky - 1 month ago 5
SQL Question

Mysql : How to run batch of sql scripts from a folder

I have a folder with o lot of sql scripts. I want to run all of them without specifying names of them. Just specify a folder name. Is it possible?

Answer

You can not do that natively, but here's simple bash command:

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

here USER, PASSWORD and DATABASE are the corresponding credentials and /path/to/directory is full path to folder that contains your files.

If you want to filter, for example, only sql files, then:

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