본문 바로가기
MySql

MySQL에서 SELECT 문을 사용하여 테이블 이름 가져 오기

by 베이스 공부 2020. 9. 26.
반응형

MySQL에서는 다음을 사용하여 데이터베이스의 테이블을 나열 할 수 있다는 것을 알고 있습니다.

SHOW TABLES

그러나 이러한 테이블 이름을 다른 테이블에 삽입하고 싶습니다. 예를 들면 다음과 같습니다.

INSERT INTO metadata(table_name) SHOW TABLES /* does not work */

다음과 같은 표준 SELECT 문을 사용하여 테이블 이름을 얻는 방법이 있습니까?

INSERT INTO metadata(table_name) SELECT name FROM table_names /* what should table_names be? */

 

해결 방법

 

모든 테이블의 이름을 얻으려면 다음을 사용하십시오.

SELECT table_name FROM information_schema.tables;

특정 데이터베이스에서 테이블 이름을 얻으려면 다음을 사용하십시오.

SELECT table_name FROM information_schema.tables
WHERE table_schema = 'your_database_name';

이제 원래 질문에 답하려면 다음 쿼리를 사용하십시오.

INSERT INTO table_name
    SELECT table_name FROM information_schema.tables
        WHERE table_schema = 'your_database_name';


 

참조 페이지 https://stackoverflow.com/questions/8334493

 

 

반응형

댓글