Loading...
MySQL 9.5 Reference Manual 9.5의 5.5 Using mysql in Batch Mode의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
이전 섹션들에서 여러분은 mysql을 대화형으로 사용하여 구문을 입력하고 결과를 보았습니다.
mysql을 배치 모드로 실행할 수도 있습니다. 그러려면 실행하려는 구문들을 파일에 넣고, 그다음 mysql에게 그 파일로부터 입력을 읽으라고 지시하면 됩니다:
1$> mysql < batch-file
Windows에서 mysql을 실행 중이고 파일 안에 문제를 일으키는 특수 문자들이 있다면, 다음과 같이 할 수 있습니다:
1C:\> mysql -e "source batch-file"
명령줄에서 연결 매개변수를 지정해야 한다면, 명령은 다음과 같을 수 있습니다:
1$> mysql -h host -u user -p < batch-file 2Enter password: ********
이와 같이 mysql을 사용할 때는 스크립트 파일을 생성한 다음 그 스크립트를 실행하는 것입니다.
스크립트 안의 일부 구문에서 에러가 발생하더라도 스크립트 실행을 계속하고 싶다면, --force 명령줄 옵션을 사용해야 합니다.
왜 스크립트를 사용해야 할까요? 다음은 몇 가지 이유입니다:
쿼리를 반복해서 실행하는 경우(예를 들어 매일 또는 매주), 이를 스크립트로 만들어 두면 실행할 때마다 매번 다시 입력할 필요가 없습니다.
유사한 기존 쿼리로부터 스크립트 파일을 복사하고 편집함으로써 새로운 쿼리를 생성할 수 있습니다.
특히 여러 줄로 된 구문이나 여러 구문으로 이루어진 시퀀스의 경우, 쿼리를 개발하는 동안 배치 모드가 유용할 수 있습니다. 실수를 하더라도 모든 내용을 다시 입력할 필요가 없습니다. 에러를 수정하도록 스크립트를 편집한 다음, mysql에게 다시 실행하도록 지시하면 됩니다.
출력 결과가 매우 많은 쿼리가 있다면, 화면 위로 스크롤되어 올라가는 것을 지켜보는 대신 페이저를 통해 출력을 흘려 보낼 수 있습니다:
1$> mysql < batch-file | more
1$> mysql < batch-file > mysql.out
스크립트를 다른 사람들에게 배포하여, 그들도 동일한 구문들을 실행할 수 있도록 할 수 있습니다.
cron 잡에서 쿼리를 실행하는 것처럼, 어떤 상황에서는 대화형 사용이 허용되지 않습니다. 이런 경우에는 배치 모드를 사용해야 합니다.
mysql을 배치 모드로 실행할 때의 기본 출력 형식은 대화형으로 사용할 때보다 다르며(더 간결합니다), 예를 들어, SELECT DISTINCT species FROM pet의 출력은 mysql을 대화형으로 실행할 때 다음과 같이 보입니다:
1+---------+ 2| species | 3+---------+ 4| bird | 5| cat | 6| dog | 7| hamster | 8| snake | 9+---------+
배치 모드에서는 대신 다음과 같이 출력됩니다:
1species 2bird 3cat 4dog 5hamster 6snake
배치 모드에서 대화형 출력 형식을 얻고 싶다면 mysql -t를 사용하십시오. 실행되는 구문을 출력에 에코하려면 mysql -v를 사용하십시오.
source 명령 또는 \. 명령을 사용하여 mysql 프롬프트에서도 스크립트를 사용할 수 있습니다:
1mysql> source filename; 2mysql> \. filename
자세한 내용은 Section 6.5.1.5, “Executing SQL Statements from a Text File”을 참조하십시오.
5.4 Getting Information About Databases and Tables
5.6 Examples of Common Queries