我有一个文件夹,里面有很多数据库文件,如.sql文件。
我想用新数据库作为文件名将它们输入到mysql中。
因此,如果一个文件名为conference_2016.sql,我希望脚本获取该文件并将其内容输入到一个名为:conference_1016的新数据库中。
到目前为止,这将单个文件输入到单个已经存在的数据库mysql -u username -p database_name < file.sql
中
我想要的是一行可以从.sh脚本中创建mysql数据库的代码。因为我需要在添加文件之前制作数据库,但无法从脚本中找到方法。
我认为你可以使用这个脚本:
#!/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文件。