Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 쿼리 입력 방법 총정리: 기본 문법부터 다중 라인 쿼리까지

MySQL 쿼리 입력의 기본

콘솔에서 쿼리를 입력하기 전에 가장 먼저 확인해야 할 것은 서버에 정상적으로 연결되어 있는지입니다. 연결이 확인되었다면 아래와 같은 간단한 쿼리로 현재 사용 중인 서버의 버전과 오늘 날짜를 확인할 수 있습니다.

mysql> SELECT VERSION(), CURRENT_DATE;

참고: VERSION() 함수와 CURRENT_DATE는 대소문자를 구분하지 않습니다. 즉, version(), Version(), vERsion()은 모두 동일하게 처리되며, CURRENT_DATE 역시 마찬가지입니다.

쿼리 실행 시 알아두어야 할 핵심 사항

  • SQL 쿼리는 반드시 세미콜론(;)으로 끝나야 합니다.

  • 쿼리가 mysql에 입력되면 해당 쿼리는 서버로 전송되어 실행됩니다. 실행 결과가 계산되어 화면에 출력된 후, 새로운 mysql> 프롬프트가 표시되는데, 이는 서버가 다음 쿼리를 받을 준비가 되었음을 의미합니다.

  • 쿼리 실행 결과는 행(row)과 열(column)로 구성된 표 형태로 출력됩니다. 첫 번째 행에는 각 열의 이름이 표시되며, 나머지 행에는 실제 쿼리 결과가 담깁니다.

  • 쿼리 실행이 완료되면 mysql은 반환된 행의 개수와 쿼리 실행에 소요된 시간도 함께 보여줍니다. 이를 통해 사용자는 서버 성능을 대략적으로 파악할 수 있습니다.

한 줄에 여러 개의 쿼리 실행하기

MySQL 서버는 한 줄에 여러 개의 문(statement)을 작성하여 실행할 수도 있습니다. 아래 예시를 참고하세요.

mysql> SELECT VERSION(); SELECT NOW();

세미콜론이 쿼리의 끝을 결정한다

흥미로운 점은 mysql 서버가 쿼리의 끝을 판단하는 기준이 입력 줄의 끝(newline)이 아니라 종료 세미콜론이라는 것입니다. 다음 예시를 살펴보겠습니다.

mysql> SELECT
    -> USER()
    -> ,
    -> VERSION();

위 쿼리에서 주목할 점은, 여러 줄에 걸친 쿼리(multi-line query)를 입력하는 동안 프롬프트가 mysql>에서 ->로 변경된다는 것입니다. 종료 세미콜론이 아직 입력되지 않았기 때문에 mysql은 쿼리가 계속 이어지고 있다고 판단하여 -> 프롬프트를 출력하는 것입니다. 만약 세미콜론이 입력되었다면, 그 즉시 쿼리가 서버로 전송되어 실행됩니다.

이러한 특성 덕분에 긴 쿼리를 여러 줄에 걸쳐 자유롭게 작성할 수 있으며, 가독성을 위해 들여쓰기를 활용하는 것도 좋은 습관입니다.