MySQL 컬럼 여러개 추가 - MySQL keolleom yeoleogae chuga

MySQL에서 테이블 열을 추가하거나 삭제하기 위한 구문을 알아보겠습니다.

컬럼 추가

먼저 열을 추가하는 구문입니다.

alter table 테이블명 add column 컬럼명 타입 옵션

컬럼 삭제

다음은 열을 삭제하는 구문입니다.

alter table 테이블명 drop column 컬럼명

예시

위의 구문을 사용해 열을 추가, 삭제해보겠습니다.

MySQL 컬럼 여러개 추가 - MySQL keolleom yeoleogae chuga
user table

위는 수정하기 전 제가 사용할 테이블입니다.

위의 기존 user 테이블에 삭제, 추가 구문을 사용해봅시다.

MySQL 컬럼 여러개 추가 - MySQL keolleom yeoleogae chuga
삭제, 추가

위의 구문을 입력해 날짜에 관련된 열을 먼저 삭제하고, 취미와 관련된 열을 추가했습니다.

그럼 어떻게 됐는지 보겠습니다.

MySQL 컬럼 여러개 추가 - MySQL keolleom yeoleogae chuga

결과를 확인해보면 mDate 열은 사라지고, hobby 열은 추가돼 NULL 값으로 채워졌습니다.

이전 포스팅(https://kingnamji.tistory.com/10)에서 한 것처럼 UPDATE를 통해 값을 채워줬습니다.

MySQL 컬럼 여러개 추가 - MySQL keolleom yeoleogae chuga
RESULT

열 추가, 삭제 구문을 알아보고 간단한 예시를 확인했습니다.

읽어주셔서 감사합니다. ^^

테이블 생성

create table [테이블명](id int,name varchar(20));

컬럼 추가

alter table [테이블명] add [컬럼명] [타입] [옵션]; 

ex) alter table [테이블명] add [컬럼명] varchar(100) not null default '0'; 

컬럼 삭제

alter table [테이블명] drop [컬럼명];

컬럼명 변경 및 타입 변경

alter table [테이블명] change [컬럼명] [변경할컬럼명] varchar(12);

컬럼 타입 수정

alter table [테이블명] modify [컬럼명] varchar(14);

테이블명 수정

alter table [테이블명] rename [변경할테이블명];

테이블 삭제

drop table [테이블명];

MySQL 컬럼 추가MySQL 컬럼 생성

1 방법 1: 맨 뒤에 추가[ | ]

ALTER TABLE `테이블명` ADD `컬럼명` 자료형

mysql> DESC employee;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id            | int(11)     | NO   | PRI | NULL    |       |
| name          | varchar(16) | NO   |     | NULL    |       |
| department_id | int(11)     | NO   |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> ALTER TABLE `employee` ADD `comments` VARCHAR(200) NOT NULL;
Query OK, 4 rows affected (0.41 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> DESC employee;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(11)      | NO   | PRI | NULL    |       |
| name          | varchar(16)  | NO   |     | NULL    |       |
| department_id | int(11)      | NO   |     | NULL    |       |
| comments      | varchar(200) | NO   |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

2 방법 2: 맨 앞에 추가[ | ]

ALTER TABLE `테이블명` ADD `새컬럼명` 자료형 FIRST

3 방법 3: 지정 컬럼 다음에 추가 ★[ | ]

ALTER TABLE `테이블명` ADD `새컬럼명` 자료형 AFTER `앞컬럼명`

mysql> DESC employee;
+---------------+-------------+------+-----+---------+-------+
| Field         | Type        | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| id            | int(11)     | NO   | PRI | NULL    |       |
| name          | varchar(16) | NO   |     | NULL    |       |
| department_id | int(11)     | NO   |     | NULL    |       |
+---------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

mysql> ALTER TABLE `employee` ADD `comments` VARCHAR(200) NOT NULL AFTER `name`;
Query OK, 4 rows affected (0.10 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> DESC employee;
+---------------+--------------+------+-----+---------+-------+
| Field         | Type         | Null | Key | Default | Extra |
+---------------+--------------+------+-----+---------+-------+
| id            | int(11)      | NO   | PRI | NULL    |       |
| name          | varchar(16)  | NO   |     | NULL    |       |
| comments      | varchar(200) | NO   |     | NULL    |       |
| department_id | int(11)      | NO   |     | NULL    |       |
+---------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

→ 새 컬럼 comments가 name 컬럼의 바로 다음에 생성되었다.

4 같이 보기[ | ]

  • MySQL 컬럼 삭제
  • MySQL 컬럼 순서 바꾸기
  • MySQL 컬럼 이름 변경
  • MySQL 컬럼 자료형 변경
  • MySQL ALTER TABLE
  • MySQL 테이블 생성