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

MySQL에서 현재 사용 중인 데이터베이스가 아닌 다른 데이터베이스의 테이블 목록을 테이블 유형과 함께 확인하는 방법

MySQL에서 현재 접속해 있는 데이터베이스가 아닌 다른 데이터베이스의 테이블 목록을 조회하고 싶다면 SHOW FULL TABLES 문을 사용하면 됩니다. 이 문은 테이블 이름뿐만 아니라 각 객체가 일반 테이블인지 뷰(VIEW)인지를 나타내는 테이블 유형 정보까지 함께 결과 집합으로 반환해 줍니다.

구문

SHOW FULL TABLES FROM db_name

여기서 db_name은 테이블 목록을 확인하고자 하는 데이터베이스의 이름입니다.

예제

현재 우리는 'query'라는 이름의 데이터베이스를 사용 중입니다. 아래의 MySQL 쿼리를 실행하면 'mysql'이라는 데이터베이스에 포함된 테이블 목록과 각각의 테이블 유형을 확인할 수 있습니다.

mysql> SHOW FULL TABLES FROM mysql;
+---------------------------+------------+
| Tables_in_mysql           | Table_type |
+---------------------------+------------+
| arena                     | BASE TABLE |
| arena1                    | BASE TABLE |
| columns_priv              | BASE TABLE |
| dates                     | VIEW       |
| dates1                    | VIEW       |
| db                        | BASE TABLE |
| digits                    | VIEW       |
| engine_cost               | BASE TABLE |
| event                     | BASE TABLE |
| func                      | BASE TABLE |
| general_log               | BASE TABLE |
| gtid_executed             | BASE TABLE |
| help_category             | BASE TABLE |
| help_keyword              | BASE TABLE |
| help_relation             | BASE TABLE |
| help_topic                | BASE TABLE |
| innodb_index_stats        | BASE TABLE |
| innodb_table_stats        | BASE TABLE |
| ndb_binlog_index          | BASE TABLE |
| numbers                   | VIEW       |
| plugin                    | BASE TABLE |
| proc                      | BASE TABLE |
| procs_priv                | BASE TABLE |
| proxies_priv              | BASE TABLE |
| server_cost               | BASE TABLE |
| servers                   | BASE TABLE |
| slave_master_info         | BASE TABLE |
| slave_relay_log_info      | BASE TABLE |
| slave_worker_info         | BASE TABLE |
| slow_log                  | BASE TABLE |
| tables_priv               | BASE TABLE |
| test_date                 | BASE TABLE |
| time_zone                 | BASE TABLE |
| time_zone_leap_second     | BASE TABLE |
| time_zone_name            | BASE TABLE |
| time_zone_transition      | BASE TABLE |
| time_zone_transition_type | BASE TABLE |
| user                      | BASE TABLE |
+---------------------------+------------+
38 rows in set (0.01 sec)

결과 해석

위 결과 집합에서 Table_type 열은 두 가지 값을 가질 수 있습니다.

  • BASE TABLE: 실제 데이터를 저장하는 일반 테이블을 의미합니다.
  • VIEW: 하나 이상의 테이블을 기반으로 정의된 가상 테이블(뷰)을 의미합니다.

또한 특정 패턴과 일치하는 테이블만 조회하고 싶다면 LIKE 절을 함께 사용할 수 있습니다. 예를 들어 아래와 같이 작성하면 이름이 'time'으로 시작하는 테이블만 필터링하여 보여줍니다.

SHOW FULL TABLES FROM mysql LIKE 'time%';

이처럼 SHOW FULL TABLES 문을 활용하면 데이터베이스를 전환하지 않고도 원하는 데이터베이스의 테이블 구성을 손쉽게 파악할 수 있습니다.