썩구노트

MySQL : ALTER - 칼럼(column)의 구조나 형식을 변경하기 본문

DB

MySQL : ALTER - 칼럼(column)의 구조나 형식을 변경하기

양석규 2016. 11. 9. 10:47

ALTER 문에 대해서 좀 끄적여 놓으려 한다. 

우선 ALTER문은 이미 존재하는 테이블의 구조나 형식등을 바꾸기 위해 사용한다. 

따라서, 칼럼의 구조나 형식을 변경하기 위해 ALTER명령을 사용하게 된다. 

ALTER 명령어는 다음과 같다. 


  1. 테이블 형식 변경 

- Engine 사용 : ALTER TABLE 테이블명 ENGINE=형식; 

- type 사용 : ALTER TABLE 테이블명 TYPE=형식; 


  2. 테이블 이름 변경 

- ALTER TABLE 테이블명 RENAME 바꿀이름

- RENAME TABLE 테이블명 TO 바꿀이름


  3. 칼럼 추가 

- 마지막에 추가 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 

- 지정 칼럼 뒤에 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 AFTER 칼럼이름

- 제일 앞에 : ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 FIRST


  4. 칼럼 삭제 

- ALTER TABLE 테이블명 DROP COLUMN 칼럼이름


  5. 칼럼 변경 

- ALTER TABLE 테이블명 MODIFY 컬럼이름 새컬럼타입

- ALTER TABLE 테이블명 CHANGE 컬럼이름 새컬럼이름 새컬럼타입


  6. 인덱스에 새항목 추가 

- ALTER TABLE 테이블명 ADD INDEX(컬럼이름)


  7. 인덱스 삭제 

- ALTER TABLE 테이블명 DROP INDEX 컬럼이름

- DROP INDEX 인덱스이름 ON 테이블명 


  7. 기본키(Primary Key) 지정하기 

- ALTER TABLE 테이블명 ADD PRIMARY KEY(칼럼이름) 컬럼이름

mysql> DESCRIBE test;

+-------+-------------+------+-----+---------+-------+

| Field  | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| t1      | varchar(40) |        |      |             |       |

| t2      | varchar(40) | YES  |     | NULL    |       |

| t3      | varchar(40) | YES  |     | NULL    |       |

| t4      | varchar(40) | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)


mysql> ALTER TABLE test ADD PRIMARY KEY(t1);

Query OK, 0 rows affected (0.00 sec)

Records: 0  Duplicates: 0  Warnings: 0


mysql> DESCRIBE test;

+-------+-------------+------+-----+---------+-------+

| Field | Type          | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| t1    | varchar(40) |         | PRI |            |       |

| t2    | varchar(40) | YES  |       | NULL    |       |

| t3    | varchar(40) | YES  |       | NULL    |       |

| t4    | varchar(40) | YES  |       | NULL    |       |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)


  7. 기본키 삭제

- ALTER TABLE 테이블명 DROP PRIMARY KEY