답변:
@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;"