CS Database [Database] 대문자 컬럼(COLUMN_NAME)을 소문자로 만들기

[Database] 대문자 컬럼(COLUMN_NAME)을 소문자로 만들기

변경하고자 하는 스키마의 모든 테이블의 컬럼을 조회하고 String 을 조합하여 ALTER TABLE 명령어를 만들어 변경한다.

ALTER TABLE 명령어 만들기

SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' CHANGE `', COLUMN_NAME, '` `', LOWER(COLUMN_NAME), '` ', COLUMN_TYPE, ';') 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA = 'innodb';

조회된 명령어를 실행하기

이렇게 조회하면 아래와 같은 결과가 나오게 되고, 아래 결과물을 명령어로 실행하면 변경되게 된다.

ALTER TABLE hig_school CHANGE `id` `id` int(11);
ALTER TABLE hig_school CHANGE `SCHUL_RDNMA` `schul_rdnma` varchar(42);
ALTER TABLE hig_school CHANGE `SCHUL_FOND_TYP_CODE` `schul_fond_typ_code` varchar(2);
ALTER TABLE hig_school CHANGE `FOAS_MEMRD` `foas_memrd` int(11);
ALTER TABLE hig_school CHANGE `DGHT_SC_CODE` `dght_sc_code` varchar(3);
ALTER TABLE hig_school CHANGE `FOND_SC_CODE` `fond_sc_code` varchar(2);
...

‘id’ 컬럼은 이미 소문자이기 때문에 실행하지 않아도 된다. 따라 조회 조건에서 제거하거나 실행명령어에서 제외해도 되며, 실행해도 문제는 없다.

댓글남기기