INFORMATION_SCHEMA.COLUMNS에서 COLUMN_NAME, DATA_TYPE을 조회하면 테이블 구조를 프로그래밍적으로 파악할 수 있습니다.
테이블 생성
mysql> CREATE TABLE DemoTable1812 (
-> Id INT,
-> FirstName VARCHAR(20),
-> Age INT,
-> IsMarried BOOLEAN,
-> Status ENUM('ACTIVE','INACTIVE')
-> );
Query OK, 0 rows affected (0.00 sec)
컬럼명=타입 형태로 조회
mysql> SELECT CONCAT(COLUMN_NAME, '=', DATA_TYPE) AS COLUMNNAMEANDTYPE
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'web' AND TABLE_NAME = 'DemoTable1812';
+-------------------+ | COLUMNNAMEANDTYPE | +-------------------+ | Id=int | | FirstName=varchar | | Age=int | | IsMarried=tinyint | | Status=enum | +-------------------+ 5 rows in set (0.00 sec)
활용: 애플리케이션에서 동적 쿼리 생성, ORM 매핑, 마이그레이션 스크립트 작성 시 유용. COLUMN_TYPE이면 길이/부호까지 포함(varchar(20), int(11) 등). IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT, EXTRA 등 추가 메타데이터도 조회 가능.