I want to do something along the lines of
CREATE DATABASE IF NOT EXISTS @database_name;
From reading the mysql syntax for prepared statements it appears that they cant be used to create databases, otherwise something like this would have been ok.
SET @s = CONCAT('CREATE DATABASE IF NOT EXISTS ',@database_name);
PREPARE stmt FROM @s;
EXECUTE stmt;
Ideally I want it as something I can run from a .sql file from a shell script
#!/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;"
Any ideas?
.sqlfile and use shell to replace them with your database name before passing the file to mysql.CREATE DATABASE.