MySQL 열 추가 - MySQL yeol chuga

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 테이블 생성

테이블 생성

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 yeol chuga

MySQL에서 CREATE TABLE 시 깜빡한 컬럼이 있을 경우

테이블을 DROP 시키고 새로 만들 것이 아니라

ALTER TABLE을 사용해주면

간단히 컬럼을 추가해줄 수 있는데

   ALTER TABLE 테이블명 
    ADD COLUMN 컬럼명 데이터타입 NOT NULL 등.. 
FIRST OR AFTER 기존컬럼명;

위 쿼리에서 복사 붙여넣기 해서 사용 시

FIRST OR AFTER 부분만 유의해주면 되는데

둘 중에 하나만 골라서 사용하면 된다

그리고 FIRST 사용 시에는

뒤에 기존컬럼명을 사용할 필요가 없다

(테이블 맨 처음 컬럼으로 생성됨)

컬럼을 잘못 추가했을 경우에는

ALTER TABLE 테이블명 DROP COLUMN 컬럼명

으로 간단히 잘못 추가한 컬럼을 삭제할 수 있다

마지막으로 예제에 사용한 쿼리는 아래와 같다

   ALTER TABLE 테이블명 
    ADD COLUMN 컬럼명 데이터타입 NOT NULL 등.. 
FIRST OR AFTER 기존컬럼명;

ALTER TABLE TB1 ADD COLUMN TEST_FRONT VARCHAR(15) FIRST;
ALTER TABLE TB1 ADD COLUMN TEST VARCHAR(15) NOT NULL AFTER NUM;

ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
ALTER TABLE TB1 DROP COLUMN TEST_FRONT;