MySQL | MariaDB
[MariaDB] 존재하는 테이블, 컬럼 정보 조회 (SELECT ALL COLUMNS IN EVERY TABLES)
binaryJournalist
2024. 5. 16. 17:12
반응형
철수 전 기록남기기 2.
테이블정의서 작성 할 때 귀찮으니 모두 뽑기.
SELECT TABLE_SCHEMA
, TABLE_NAME
, COLUMN_NAME
, ORDINAL_POSITION
, COLUMN_DEFAULT
, IS_NULLABLE
, DATA_TYPE
, COLUMN_TYPE
, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE 1=1
AND TABLE_SCHEMA IN ('스키마명') -- mariaDB의 경우 database 명이라고도 함
ORDER BY TABLE_SCHEMA
, TABLE_NAME
, ORDINAL_POSITION
;
응용해서 VO, DTO, Model generator 만들 때 사용했던 쿼리
SELECT CASE DATA_TYPE WHEN 'bigint' THEN 'Long'
WHEN 'int' THEN 'Integer'
WHEN 'datetime' THEN 'Date'
WHEN 'varchar' THEN 'String'
ELSE DATA_TYPE
END AS DATA_TYPE
, COLUMN_NAME AS COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE 1=1
AND TABLE_SCHEMA IN ('스키마명') -- mariaDB의 경우 database 명이라고도 함
AND TABLE_NAME = '테이블명'
ORDER BY TABLE_NAME
, ORDINAL_POSITION
;
*번외로 여기서 잠깐 다뤘던 Oracle
SELECT TABLE_NAME
, COULUMN_NAME
, DATA_TYPE
, DATA_LENGTH
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = '테이블명'
ORDER BY COLUMN_ID ASC
;
반응형