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

MySQL SELECT 문으로 테이블 이름 목록 조회하는 방법

MySQL에서 SELECT 문으로 테이블 이름 가져오기

MySQL에서 SELECT 문을 사용해 데이터베이스 내 테이블 이름을 조회하려면 information_schema.tables를 활용하면 됩니다. information_schema는 MySQL 서버가 관리하는 메타데이터(테이블 구조, 컬럼 정보 등)를 저장하는 시스템 스키마로, 별도의 권한 설정 없이도 자신의 데이터베이스 정보를 손쉽게 확인할 수 있습니다.

기본 문법

아래 쿼리는 특정 데이터베이스에 포함된 모든 테이블 이름을 조회하는 기본적인 형태입니다.

SELECT Table_name AS TablesName
FROM information_schema.tables
WHERE table_schema = 'yourDatabaseName';

실제 사용 예시

'test'라는 데이터베이스에 위 쿼리를 적용하여 테이블 이름 목록을 조회해 보겠습니다.

mysql> use test;
Database changed
mysql> SELECT Table_name AS TablesName FROM information_schema.tables WHERE table_schema = 'test';

실행 결과

쿼리 실행 결과, 해당 데이터베이스에 존재하는 세 개의 테이블 이름이 출력됩니다.

+--------------------+
| TablesName |
+--------------------+
| destination |
| myisamtoinnodbdemo |
| originaltable |
+--------------------+
3 rows in set (0.00 sec)

참고: SHOW TABLES와의 비교

사실 MySQL에서는 SHOW TABLES; 명령으로도 동일한 결과를 얻을 수 있습니다. 다만 information_schema.tables를 사용하면 결과를 정렬하거나 필터링하는 등 SQL의 다양한 기능을 함께 활용할 수 있다는 장점이 있습니다.

-- 예: 테이블 이름 기준 오름차순 정렬
SELECT Table_name AS TablesName
FROM information_schema.tables
WHERE table_schema = 'test'
ORDER BY Table_name ASC;