[MariaDB] Add Column(컬럼 추가) - FIRST, AFTER 옵션 사용
MariaDB를 사용하여 개인 프로젝트를 진행하다가, 이미 생성되어 있는 테이블에 컬럼을 추가해야 할 일이 생겼다.
MariaDB도 컬럼을 추가하는 SQL은 일반적인 데이터베이스에 사용하는 DCL과 다를 바가 없다.
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입
하지만 다른 DBMS(Oracle, MS-SQL...)처럼, 이미 생성되어 있는 테이블에 컬럼을 추가할 때는 기본적으로 가장 마지막 위치에 추가된다는 점.
이 말이 무엇이냐 하면...
가령 어떤 테이블에 A~C 컬럼이 있는데, D라는 신규 컬럼을 추가한다면 당연히 C 컬럼 뒤에 추가된다는 이야기다.
하지만 이미 추가된 컬럼들 사이에 신규 컬럼을 넣고 싶을 때가 분명 있었다. 이는 다른 DBMS에서도 마찬가지.
MariaDB에서는 'ADD COLUMN' DCL에 FIRST/AFTER 옵션을 지원하여, DBA 혹은 개발자가 원하는 위치에 컬럼을 추가할 수 있다.
예를 들어, 'COLUMN_1'이라는 컬럼 하나를 갖고 있는 테이블 'TB_TEMP_TABLE'이 있다고 가정해 본다. 이 테이블의 원하는 위치에 컬럼을 추가해 본다. 단, 추가되는 컬럼의 데이터 타입은 편의상 'VARCHAR(100)'로 통일한다.
1. 가장 첫 번째에 추가(FIRST)
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 FIRST
ALTER TABLE TB_TEMP_TABLE ADD COLUMN COLUMN_2 VARCHAR(100) FIRST
2. 특정 컬럼 뒤에 추가(AFTER)
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 AFTER 컬럼명
ALTER TABLE TB_TEMP_TABLE ADD COLUMN COLUMN_3 VARCHAR(100) AFTER COLUMN_1
가장 간단하면서도 유용한 컬럼의 순서를 지정하여 추가하는 방법.
테이블을 설계했을 때는 완벽하다고 생각했는데, 막상 개발을 하다 보니 생각지도 못한 구멍들이 하나둘씩 보인다.
MariaDB의 FIRST/AFTER 옵션 덕에, 잘못 생성한 테이블을 drop 하고 다시 생성하는 수고로움을 덜 수 있었다.
지금까지 MariaDB의 ADD COLUMN, 그중에서도 컬럼의 순서를 지정하여 추가하는 FIRST/AFTER 옵션에 대해 알아보았다.
감사합니다 : )