[sql] 커맨드 라인에서 mysql을 통해 단일 쿼리를 어떻게 실행합니까?

스크립트 작업의 원격 서버에서 단일 쿼리를 실행할 수 있기를 원합니다.

예를 들어, 직관적으로, 나는 그것이 다음과 같이 갈 것이라고 상상할 것입니다 :

mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"



답변

mysql -u <user> -p -e "select * from schema.table"


답변

mysql -uroot -p -hslavedb.mydomain.com mydb_production -e "select * from users;"

사용법 출력에서 ​​:

-e, --execute=name
명령을 실행하고 종료하십시오. (장애 --force및 기록 파일)


답변

멋진 쉘 트릭으로 수행하는 방법은 다음과 같습니다.

mysql -uroot -p -hslavedb.mydomain.com mydb_production <<< 'select * from users'

‘<<<‘는 쉘이 에코에서 파이핑하는 것과 유사하게 그 뒤에 오는 것을 stdin으로 가져 가도록 지시합니다.

-t 플래그를 사용하여 테이블 형식 출력을 사용 가능하게하십시오.


답변

자주 실행하는 쿼리 인 경우 파일에 저장할 수 있습니다. 그런 다음 언제든지 실행하려고합니다 .

mysql < thefile

(물론 모든 로그인 및 데이터베이스 플래그 포함)


답변

echo "select * from users;" | mysql -uroot -p -hslavedb.mydomain.com mydb_production


답변