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

MySQL에서 다른 열 앞에 새로운 열을 추가하는 방법 – FIRST와 AFTER 절 완벽 가이드

결론부터 말씀드리면, 가능합니다. MySQL에서는 ALTER 문을 사용하여 원하는 위치에 손쉽게 새로운 열(column)을 추가할 수 있습니다.

FIRST와 AFTER 절의 역할

테이블 행 내에서 특정 위치에 열을 추가하려면 FIRST 또는 AFTER col_name 구문을 사용해야 합니다.

  • FIRST: 테이블의 맨 첫 번째 위치에 열을 추가합니다.
  • AFTER col_name: 지정한 열 바로 뒤에 새로운 열을 추가합니다.

1단계: 테이블 생성하기

먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
-> (
-> Id int,
-> Name varchar(20),
-> CountryName varchar(100)
-> );
Query OK, 0 rows affected (0.67 sec)

2단계: 기존 열 구조 확인하기

테이블의 모든 열 이름을 확인해 보겠습니다.

mysql> show columns from DemoTable;

출력 결과

+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id | int(11) | YES | | NULL | |
| Name | varchar(20) | YES | | NULL | |
| CountryName | varchar(100) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

현재 테이블에는 Id, Name, CountryName 세 개의 열이 존재합니다.

3단계: 특정 열 뒤에 새로운 열 추가하기

다음은 MySQL에서 다른 열 사이에 새로운 열을 추가하는 쿼리입니다. 여기서는 Name 열 바로 뒤에 Age 열을 추가합니다.

mysql> alter table DemoTable add Age int AFTER Name;
Query OK, 0 rows affected (1.50 sec)
Records: 0 Duplicates: 0 Warnings: 0

4단계: 변경된 테이블 구조 확인하기

열이 성공적으로 추가되었는지 다시 한번 확인해 보겠습니다.

mysql> show columns from DemoTable;

출력 결과

아래 출력 결과를 보면 NameCountryName 사이에 Age 열이 성공적으로 추가된 것을 확인할 수 있습니다.

+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| Id | int(11) | YES | | NULL | |
| Name | varchar(20) | YES | | NULL | |
| Age | int(11) | YES | | NULL | |
| CountryName | varchar(100) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

마무리 정리

이처럼 MySQL에서는 ALTER TABLE ... ADD ... AFTER 열이름 구문만 사용하면 원하는 위치에 자유롭게 열을 삽입할 수 있습니다. 만약 테이블의 맨 앞에 열을 추가하고 싶다면 FIRST 키워드를 사용하면 됩니다. 참고로 이러한 위치 지정 기능은 MySQL에서 지원하지만, 일부 다른 데이터베이스(예: PostgreSQL, SQL Server)에서는 열 순서 변경을 지원하지 않으므로 주의가 필요합니다.