Назад | Перейти на главную страницу

Вставить несколько файлов sql

У меня 297 файлов sql, я хочу импортировать их в mysql, но они должны быть в разных базах данных.

Я попытался:

 find . -name '*.sql' | awk '{ print "source",$0 }' | mysql -u <db_user> -p --batch -D <database_name>

но это вызывает ошибку, потому что в файлах sql есть такие команды, как:

DROP TABLE IF EXIST <table_name>

поэтому мне нужен сценарий, который должен создавать новую базу данных для каждого файла sql. Как я могу это сделать?

Хорошо, я сделал это с помощью написанного мной скрипта на Python.

import os

for filename in os.listdir('<path_to_folder_contains_sqls>'):
    print 'importing db: ' + filename
    dbname = 'db_' + str(os.path.splitext(filename)[0])
    os.system('mysql -e "create database ' + dbname + '; use ' + dbname + '; source ' + filename + ';"')