Відповіді:
@ Відповідь Nitrodist спрацює, але це надмірна проблема. Клієнт командного рядка MySQL підтримує дуже зручний -e
комутатор, наприклад:
mysql -uroot -e "create database 'foo'"
Звичайно, можна замінити будь-який дійсний SQL.
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
. Без них це прекрасно працює. Дякуємо @IanVaughan
Відповідно до документації MySQL, команда mysql
може приймати команди зstdin
shell> mysql -uroot < script.sql > output.tab
Ви можете скористатися процесною заміною для цього:
shell> mysql -uroot <(echo "create database mydatabase;")
або ви можете просто конвеєр до stdin
з mysql
нормально:
shell> echo "create database mydatabase;" | mysql -uroot
Не можу це перевірити особисто, але я думаю, що це має спрацювати.
Редагувати: Ще одним варіантом є використання -e
параметра, вказаного тут , як-от так:
shell> mysql -uroot -e "create database mydatabase;"