๐Ÿ“‹DB

MYSQL/ORACLE - ํ…Œ์ด๋ธ” ์ •์˜์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฝ‘๋Š” ์ฟผ๋ฆฌ

harry.93 2021. 2. 6. 15:22
๋ฐ˜์‘ํ˜•

MYSQL 

SELECT
	a.TABLE_NAME 'ํ…Œ์ด๋ธ”๋ช…',
	b.ORDINAL_POSITION '์ˆœ๋ฒˆ',
	b.COLUMN_NAME 'ํ•„๋“œ๋ช…',
	b.DATA_TYPE 'DATA TYPE',
	b.COLUMN_TYPE '๋ฐ์ดํ„ฐ๊ธธ์ด',
	b.COLUMN_KEY 'KEY',
	b.IS_NULLABLE 'NULL๊ฐ’์—ฌ๋ถ€',
	b.EXTRA '์ž๋™์—ฌ๋ถ€',
	b.COLUMN_DEFAULT '๋””ํดํŠธ๊ฐ’',
	b.COLUMN_COMMENT 'ํ•„๋“œ์„ค๋ช…'
from
	information_schema.TABLES a 
join
	information_schema.COLUMNS b 
on
	a.TABLE_NAME = b.TABLE_NAME
    and a.TABLE_SCHEMA = b.TABLE_SCHEMA
where 
	a.TABLE_SCHEMA = '{์Šคํ‚ค๋งˆ๋ช…}'
ORDER BY
	a.TABLE_NAME, b.ORDINAL_POSITION

 

ORACLE

SELECT tab_columns.TABLE_NAME,
                       tab_columns.COLUMN_ID,
                       tab_columns.COLUMN_NAME,
                       (
                           CASE
                               WHEN DATA_TYPE LIKE '%CHAR%'
                               THEN DATA_TYPE || '(' || DATA_LENGTH || ')'
                               WHEN DATA_TYPE = 'NUMBER'
                                   AND DATA_PRECISION > 0
                                   AND DATA_SCALE > 0
                               THEN DATA_TYPE || '(' || DATA_PRECISION || ',' || DATA_SCALE || ')'
                               WHEN DATA_TYPE = 'NUMBER'
                                   AND DATA_PRECISION > 0
                               THEN DATA_TYPE || '(' || DATA_PRECISION || ')'
                               WHEN DATA_TYPE = 'NUMBER'
                               THEN DATA_TYPE
                               ELSE DATA_TYPE
                           END
                       )
                       COLUMN_TYPE,
                       NULLABLE IS_NULLABLE,
                       DATA_DEFAULT,
                       (SELECT decode( sum
                              (
                                     (SELECT decode(CONSTRAINT_TYPE, 'P', 1, 'R', 2, 0)
                                       FROM USER_CONSTRAINTS
                                      WHERE CONSTRAINT_NAME = cons_columns.CONSTRAINT_NAME
                                     )
                                 )
                                 , 1, 'PRI', 2, 'FK', 3, 'PRI, FK', '')
                            FROM USER_CONS_COLUMNS cons_columns
                           WHERE TABLE_NAME = tab_columns.TABLE_NAME
                                 AND COLUMN_NAME = tab_columns.COLUMN_NAME
                          ) AS COLUMN_KEY,
                          COMMENTS.COMMENTS AS COLUMN_COMMENT
                     FROM USER_TAB_COLUMNS tab_columns,
                          USER_COL_COMMENTS comments
                    WHERE tab_columns.TABLE_NAME = comments.TABLE_NAME(+)
                          AND tab_columns.COLUMN_NAME = comments.COLUMN_NAME(+)
                          AND tab_columns.TABLE_NAME =  #{tableName}
                 ORDER BY COLUMN_ID
728x90
๋ฐ˜์‘ํ˜•