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