Ben*_*Ben 6 mysql database variables
我想做一些事情
CREATE DATABASE IF NOT EXISTS @database_name;
从阅读准备语句的mysql语法看来,它们似乎无法用于创建数据库,否则这样的东西就可以了.
SET @s = CONCAT('CREATE DATABASE IF NOT EXISTS ',@database_name);
PREPARE stmt FROM @s;
EXECUTE stmt;
理想情况下,我希望它可以从shell脚本的.sql文件中运行
#!/bin/bash
MYSQL="mysql"
`${MYSQL} --version >& /dev/null`
if [ $? != 0 ]; then
MYSQL="mysql5"
`${MYSQL} --version > /dev/null`
if [ $? != 0 ]; then
echo "Can't find mysql binary?"
exit 1
fi
fi
${MYSQL} -u root --password=###### -e "set @database_name:='ben_search';source CreateSkeleton.sql;"
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以CREATE DATABASE从 SQL 文件中取出该语句并从 shell 脚本中发出它:
#!/bin/bash
dbname='my_db'
mysql -e "CREATE DATABASE $dbname"
mysql $dbname < /path/to/file/CreateSkeleton.sql
Run Code Online (Sandbox Code Playgroud)