Mysql Alter table

Alter Table은?

테이블에 새로운 컬럼을 추가하거나 삭제하는등의 작업을 하기 위해 필요한 MySQL의 Alter Table 문법입니다.

Syntax

ALTER [IGNORE] TABLE tbl_name
   alter_specification [, alter_specification] …

alter_specification:
   table_option … | ADD [COLUMN] col_name column_definition
       [FIRST | AFTER col_name ]
  | ADD [COLUMN] (col_name column_definition,…)
  | ADD {INDEX|KEY} [index_name]
       [index_type] (index_col_name,…) [index_type]
  | ADD [CONSTRAINT [symbol]] PRIMARY KEY
       [index_type] (index_col_name,…) [index_type]
  | ADD [CONSTRAINT [symbol]]
       UNIQUE [INDEX|KEY] [index_name]
       [index_type] (index_col_name,…) [index_type]
  | ADD [FULLTEXT|SPATIAL] [INDEX|KEY] [index_name]
       (index_col_name,…) [index_type]
  | ADD [CONSTRAINT [symbol]]
       FOREIGN KEY [index_name] (index_col_name,…)
       reference_definition
  | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
  | CHANGE [COLUMN] old_col_name new_col_name column_definition
       [FIRST|AFTER col_name]
  | MODIFY [COLUMN] col_name column_definition
       [FIRST | AFTER col_name]
  | DROP [COLUMN] col_name | DROP PRIMARY KEY | DROP {INDEX|KEY} index_name
  | DROP FOREIGN KEY fk_symbol
  | DISABLE KEYS
  | ENABLE KEYS
  | RENAME [TO] new_tbl_name
  | ORDER BY col_name [, col_name] …
  | CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
  | [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
  | DISCARD TABLESPACE
  | IMPORT TABLESPACE

index_col_name:
   col_name [(length)] [ASC | DESC]

index_type:
   USING {BTREE | HASH | RTREE}

사용 예(Example)

1. 테이블에 새로운 컬럼 추가

alter table tablename add column [추가할 컬럼명] [추가할 컬럼 데이타형]

2. 테이블에 컬럼타입 변경하기

alter table tablename modify column [변경할 컬럼명] [변경할 컬럼 타입]

3. 테이블에 컬럼이름 변경하기

alter table tablename change column [기존 컬럼명] [변경할 컬럼명] [변경할 컬럼타입]

4. 테이블에 컬럼 삭제하기

alter table tablename drop column [삭제할 컬럼명]

5. 테이블컬럼에 인덱스 주기

alter table tablename add index 인덱스명(인덱스를 줄 컬럼1 , 인덱스를 줄 컬럼2, … )

6. 테이블컬럼에 인덱스 삭제하기

alter table tablename drop index 인덱스명;

7. 테이블에 Primary Key 만들기

alter table tablename add primary key (키를 줄 컬럼명1 , 키를 줄 컬럼명2, …)

8. 테이블에 Primary Key 삭제하기

alter table tablename drop primary key;

9. 테이블명 바꾸기

alter table 기존테이블명 rename 새로운테이블명

10. 인덱스 생성

CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length]),… )

11. 인덱스 삭제

DROP INDEX index_name

http://www.cherrynet.co.kr/bbs_view.php?s=66&pseq=9&mnid=1

2 thoughts on “Mysql Alter table”

Leave a Reply

Your email address will not be published. Required fields are marked *