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

MySQL에서 데이터베이스 목록을 반환하는 방법

MySQL에서 데이터베이스 목록 조회하기

MySQL 서버에 생성된 모든 데이터베이스의 목록을 확인하고 싶다면 information_schema.schemata 테이블을 활용하면 됩니다. 이 테이블에는 현재 MySQL 인스턴스에 존재하는 모든 스키마(데이터베이스)의 정보가 저장되어 있습니다.

기본 문법

데이터베이스 목록을 반환하는 기본적인 문법은 다음과 같습니다.

select schema_name as 별칭 from information_schema.schemata;

여기서 schema_name 컬럼은 각 데이터베이스의 이름을 담고 있으며, as 키워드를 사용해 원하는 이름으로 별칭(alias)을 지정할 수 있습니다.

실제 쿼리 예제

아래는 DatabaseName이라는 별칭을 사용하여 데이터베이스 목록을 조회하는 쿼리입니다.

mysql> select schema_name as DatabaseName from information_schema.schemata;

실행 결과

위 쿼리를 실행하면 다음과 같이 시스템 데이터베이스(mysql, information_schema, performance_schema, sys)를 포함한 전체 데이터베이스 목록이 출력됩니다.

+---------------------------+
| DatabaseName              |
+---------------------------+
| mysql                     |
| information_schema        |
| performance_schema        |
| sys                       |
| business                  |
| sample                    |
| hello                     |
| test                      |
| mybusiness                |
| databasesample            |
| schemasample              |
| universitydatabase        |
| education                 |
| mydatabase                |
| database1                 |
| sampledatabase            |
| test3                     |
| javadatabase2             |
| javasampledatabase        |
| rdb                       |
| onetomanyrelationship     |
| webtracker                |
| web                       |
| commandline               |
| hb_student_tracker        |
| bothinnodbandmyisam       |
| customertracker           |
| tracker                   |
| demo                      |
| customer_tracker_database |
| login                     |
| onlinebookstore           |
| customer-tracker          |
| web_tracker               |
| instant_app               |
| 1233                      |
+---------------------------+
36 rows in set (0.00 sec)

참고 사항

일반적으로 가장 많이 사용되는 방법은 SHOW DATABASES; 명령어입니다. 하지만 위와 같이 information_schema.schemata를 조회하면 결과에 필터링(WHERE 절), 정렬(ORDER BY) 등의 조건을 자유롭게 적용할 수 있다는 장점이 있습니다.