Notice
Recent Posts
Recent Comments
뽁
MySQL.테이블정의서 추출 쿼리문 본문
-- USE INFORMATION_SCHEMA ; (DB들 선택하는 명령 입니다. USE DB명)
SELECT A.TABLE_SCHEMA AS DB ,
A.TABLE_NAME AS Table_ID,
A.TABLE_COMMENT AS Table_NAME ,
B.COLUMN_NAME AS Column_ID ,
B.COLUMN_COMMENT AS Column_Name ,
B.DATA_TYPE AS Data_Type ,
-- B.CHARACTER_MAXIMUM_LENGTH AS Col_Length, -- CHAR character type에 대해 문자 단위로 보고 싶으면 CHARACTER_MAXIMUM_LENGTH 를 사용하시면 됩니다.
-- B.CHARACTER_OCTET_LENGTH AS Col_Length, -- BYTE
CASE B.DATA_TYPE WHEN 'varchar' THEN B.CHARACTER_OCTET_LENGTH
WHEN 'char' THEN B.CHARACTER_OCTET_LENGTH
WHEN 'decimal' THEN CONCAT('(', B.NUMERIC_PRECISION, ',', B.NUMERIC_SCALE, ')')
WHEN 'numeric' THEN CONCAT('(', B.NUMERIC_PRECISION, ',', B.NUMERIC_SCALE, ')')
WHEN 'tinyint' THEN B.NUMERIC_PRECISION
WHEN 'smallint' THEN B.NUMERIC_PRECISION
WHEN 'mediumint' THEN B.NUMERIC_PRECISION
WHEN 'int' THEN B.NUMERIC_PRECISION
WHEN 'bigint' THEN B.NUMERIC_PRECISION
WHEN 'date' THEN B.DATETIME_PRECISION
WHEN 'datetime' THEN B.DATETIME_PRECISION
WHEN 'time' THEN B.DATETIME_PRECISION
WHEN 'timestamp' THEN B.DATETIME_PRECISION
ELSE B.CHARACTER_OCTET_LENGTH
END AS Col_Length ,
B.COLUMN_DEFAULT AS Default_Value,
-- B.IS_NULLABLE AS Is_Nullables,
CASE B.IS_NULLABLE WHEN 'NO' THEN 'N' WHEN 'YES' THEN 'Y' END AS Is_Null,
CASE B.COLUMN_KEY WHEN 'PRI' THEN 'Y' ELSE '' END AS PK
FROM INFORMATION_SCHEMA.TABLES A,
INFORMATION_SCHEMA.COLUMNS B
WHERE A.TABLE_NAME = B.TABLE_NAME
AND A.TABLE_SCHEMA = B.TABLE_SCHEMA
AND A.TABLE_TYPE = 'BASE TABLE'
AND A.TABLE_SCHEMA in ('employees')
-- AND A.TABLE_SCHEMA in ('db')
-- AND A.TABLE_SCHEMA in ('ShopDB')
-- AND A.TABLE_SCHEMA in ('wideshot_service')
order by Table_ID, B.ORDINAL_POSITION
;
'IT Cafe+ > MySQL' 카테고리의 다른 글
MySQL.대량 데이터 작업 시 TMP table 파라메터 공유 (0) | 2019.10.31 |
---|---|
MySQL.OracleToMySQL 데이터 이관 시 이모티콘 텍스트 깨지는 오류 (0) | 2019.10.31 |
MySQL.인덱스 정의서 추출 쿼리문 (0) | 2019.10.01 |
MySQL.더미 데이터 생성 쿼리문 (0) | 2019.09.20 |
MYSQL.다국어테스트 및 UTF-8에서 char 문자수 확인 (0) | 2019.08.07 |
Comments