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

MySQL에서 SHOW DATABASES의 동의어 구문은 무엇일까? SHOW SCHEMAS로 데이터베이스 목록 확인하기

MySQL에서는 SHOW DATABASES 문을 실행하면 현재 서버에 존재하는 모든 데이터베이스의 목록을 확인할 수 있습니다. 그런데 이 구문과 완전히 동일한 역할을 하는 공식 동의어(synonym) 구문이 존재하는데, 바로 SHOW SCHEMAS입니다.

SHOW SCHEMAS란 무엇인가?

MySQL에서 '데이터베이스(database)'와 '스키마(schema)'는 사실상 같은 개념을 가리킵니다. 따라서 SHOW DATABASES 대신 SHOW SCHEMAS를 사용해도 결과가 전혀 달라지지 않습니다. SQL 표준에서는 스키마라는 용어를 사용하기 때문에, 표준 문법에 익숙한 개발자라면 SHOW SCHEMAS가 더 자연스럽게 느껴질 수 있습니다.

실행 예시

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| gaurav             |
| mysql              |
| performance_schema |
| query              |
| query1             |
| sys                |
| tutorials          |
+--------------------+
8 rows in set (0.07 sec)

mysql> SHOW SCHEMAS;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| gaurav             |
| mysql              |
| performance_schema |
| query              |
| query1             |
| sys                |
| tutorials          |
+--------------------+
8 rows in set (0.00 sec)

결과 비교 및 정리

위 실행 결과에서 확인할 수 있듯이, SHOW DATABASES와 SHOW SCHEMAS는 동일한 8개의 데이터베이스(information_schema, gaurav, mysql, performance_schema, query, query1, sys, tutorials)를 똑같은 형식으로 출력합니다. 즉, 두 구문은 MySQL 내부적으로 같은 명령으로 처리되며, 어떤 것을 사용하더라도 결과나 성능에 차이가 없습니다.

참고로 information_schema, mysql, performance_schema, sys는 MySQL 설치 시 기본적으로 생성되는 시스템 데이터베이스로, 서버 운영에 필요한 메타데이터와 설정 정보를 담고 있으므로 임의로 삭제하거나 수정하지 않는 것이 좋습니다.