插入多个sql文件

插入多个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 文件创建新的数据库。我该怎么做?

答案1

好的,我用我编写的 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 + ';"')

相关内容