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 같이 보기[ | ]
테이블 생성 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에서 CREATE TABLE 시 깜빡한 컬럼이 있을 경우 테이블을 DROP 시키고 새로 만들 것이 아니라 ALTER TABLE을 사용해주면 간단히 컬럼을 추가해줄 수 있는데
위 쿼리에서 복사 붙여넣기 해서 사용 시 FIRST OR AFTER 부분만 유의해주면 되는데 둘 중에 하나만 골라서 사용하면 된다 그리고 FIRST 사용 시에는 뒤에 기존컬럼명을 사용할 필요가 없다 (테이블 맨 처음 컬럼으로 생성됨) 컬럼을 잘못 추가했을 경우에는 ALTER TABLE 테이블명 DROP COLUMN 컬럼명 으로 간단히 잘못 추가한 컬럼을 삭제할 수 있다 마지막으로 예제에 사용한 쿼리는 아래와 같다 |