Respuestas:
La respuesta de @ Nitrodist funcionará, pero está sobregeniando el problema. El cliente de línea de comandos de MySQL admite el -e
conmutador muy útil , así:
mysql -uroot -e "create database 'foo'"
Por supuesto, puede sustituir cualquier SQL válido allí.
mysql -uroot -e "create database foo"
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''foo'' at line 1
. Sin ellos funciona bien. Gracias @IanVaughan
De acuerdo con la documentación de MySQL, mysql
puede tomar comandos destdin
shell> mysql -uroot < script.sql > output.tab
Puede usar la sustitución de procesos para lograr esto:
shell> mysql -uroot <(echo "create database mydatabase;")
o simplemente puede canalizarlo al stdin
de mysql
normalmente:
shell> echo "create database mydatabase;" | mysql -uroot
No puedo probar esto personalmente, pero creo que debería funcionar.
Editar: Otra opción es usar la -e
opción, especificada aquí , así:
shell> mysql -uroot -e "create database mydatabase;"