본문 바로가기
MySQL MariaDB/DB,Table 정보

MySQL / MariaDB 테이블, 컬럼 & key 정보 한번에 조회

by 쑤- IT, MySQL, MariaDB, DBeaver 2021. 8. 25.

#---  테이블별 컬럼 & key 정보 한번에 조회
 

SELECT
   T.table_name 
,   C.column_name
,   C.column_comment
,   C.ordinal_position
,   C.column_type
,   C.is_nullable
,   C.column_default
,   C.column_key
,   inx.index_name
   CASE   inx.non_unique /*-- 1: 인덱스에 중복 가능.    0 : 중복 불가. */
   WHEN '1' THEN 'non_uni'
   WHEN '0' THEN 'unique'
   ELSE ''
   END key_unique
  ,
   inx.nullable /*--- YES :  열에 NULL이 포함될 수 있음. */
FROM
(
      SELECT
        T.table_name 
      , C.column_name
      , C.column_comment
      , C.ordinal_position
       , C.column_type
       , C.is_nullable
       , C.column_default
       , C.column_key   
   FROM
       information_schema.TABLES AS T  /*테이블 정보 */
   INNER JOIN
      information_schema.COLUMNS AS C /*컬럼 정보 */
   ON
      T.table_schema = '스키마명'
      AND T.table_name = '테이블명'
      AND T.table_name = C.table_name   ) tab
LEFT JOIN information_schema.STATISTICS inx /* index 정보 */
ON
     tab.table_name = inx.table_name
     AND TABLE.column_name = inx.column_name
ORDER BY
     tab.table_name,
     tab.ordinal_position
   

댓글