Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 컬럼 순서를 변경하는 쉬운 방법

MySQL에서 테이블의 컬럼(열) 순서를 변경하려면 ALTER TABLE ... MODIFY COLUMN 구문을 사용하면 됩니다. 기본 문법은 다음과 같습니다.

ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 데이터타입 AFTER 다른컬럼명;

예제 테이블 생성하기

문법을 실제로 이해하기 위해 먼저 예제용 테이블을 생성해 보겠습니다. 아래 쿼리로 'reOrderColumn'이라는 테이블을 만듭니다.

mysql> create table reOrderColumn
-> (
-> ProductId int,
-> DeliveryDate datetime,
-> ProductName varchar(100)
-> );
Query OK, 0 rows affected (0.76 sec)

현재 컬럼 순서 확인하기

테이블이 정상적으로 생성되었는지, 그리고 현재 컬럼 순서가 어떻게 되어 있는지 DESC 명령어로 확인해 보겠습니다.

mysql> desc reOrderColumn;

실행 결과는 다음과 같습니다. 현재 컬럼 순서는 ProductId → DeliveryDate → ProductName입니다.

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| ProductId    | int(11)      | YES  |     | NULL    |       |
| DeliveryDate | datetime     | YES  |     | NULL    |       |
| ProductName  | varchar(100) | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
3 rows in set (0.10 sec)

AFTER 절로 컬럼 순서 변경하기

이제 ALTER TABLE과 MODIFY COLUMN 명령어에 AFTER 절을 조합하여 컬럼 순서를 변경해 보겠습니다. 여기서는 DeliveryDate 컬럼을 ProductName 컬럼 뒤로 이동시켜 보겠습니다.

mysql> alter table reOrderColumn modify column DeliveryDate datetime after ProductName;
Query OK, 0 rows affected (1.61 sec)
Records: 0 Duplicates: 0 Warnings: 0

쿼리가 성공적으로 실행되었습니다. 주의할 점은 MODIFY COLUMN으로 컬럼을 이동할 때 해당 컬럼의 데이터 타입(datetime)을 반드시 함께 명시해야 한다는 것입니다.

변경 결과 확인하기

컬럼 순서가 실제로 변경되었는지 다시 한번 확인해 보겠습니다.

mysql> desc reOrderColumn;

아래 출력 결과에서 볼 수 있듯이, DeliveryDate 컬럼이 ProductName 뒤로 이동하여 컬럼 순서가 성공적으로 재정렬되었습니다.

+--------------+--------------+------+-----+---------+-------+
| Field        | Type         | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| ProductId    | int(11)      | YES  |     | NULL    |       |
| ProductName  | varchar(100) | YES  |     | NULL    |       |
| DeliveryDate | datetime     | YES  |     | NULL    |       |
+--------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

추가 팁

- 컬럼을 테이블의 가장 앞으로 이동시키고 싶다면 AFTER 대신 FIRST 키워드를 사용하면 됩니다. 예: ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 데이터타입 FIRST;
- 컬럼 순서 변경은 논리적 가독성을 위한 것이며, SELECT 문에서 컬럼을 명시적으로 지정하면 저장 순서와 무관하게 원하는 순서로 조회할 수 있습니다.