我有一个包含很多数据库文件的文件夹作为.sql文件。
我想将它们输入到mysql中,新数据库作为文件的名称。
因此,如果文件名为conference_2016.sql,我希望脚本获取该文件并将其内容输入名为:conference_2016的新数据库。
到目前为止,这会将单个文件输入到单个已存在的数据库mysql -u username -p database_name < file.sql
我想要的是一行可以从.sh脚本生成mysql数据库。因为我需要在将文件添加到数据库之前创建数据库,但是无法从脚本中找到解决方法。
答案 0 :(得分:1)
我认为你可以使用这个脚本:
#!/bin/bash
databases=$(ls *.sql)
for database in ${databases};do
name=${database%.*}
mysql -u root -ppassword -e "CREATE DATABASE IF NOT EXISTS ${name} DEFAULT CHARACTER SET utf8;"
mysql -u root -ppassword ${name} < ${database}
done
这是我的目录结构:
toplevel
├── one.sql
├── test.sh
├── three.sql
└── two.sql
test.sql
是上面的bash脚本。 *.sql
是您要导入的sql文件。