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

    ๋ฐ˜์‘ํ˜•

    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
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€