TABLE 변경하기
프로젝트를 하다보면 가끔 TABLE을 변경해야할 필요가 있어요~! 후후.. 그냥 DROP 시킨 후에 다시 CREATE하는 방법도 있지만
수많은 데이타가 있다면 매우 끔직한 일이겠죠.. MySQL은 TABLE을 CREATE하고 ALTER하는 것을 지원합니다.
TABLE 정의 문을 변경할 때는 ALTER TABLE 문을 사용합니다. TABLE의 내용이 아니라 TABLE의 구조를 변경하는 거죠.
ALTER TABLE로는 다음과 같은 것들을 수행할 수 있습니다.
- TABLE에 새로운 열을 추가하기.
- 열의 폭을 늘이거나 줄이기.
- NOT NULL인 열의 속성을 NULL로 NULL인 열의 속성을 NOT NULL로 변경하기.
- 열에 초기값 지정하기.
- 열에 대한 제약조건 지정하기.
ALTER TABLE에는 다음 세가지 형식이 있어요.
- ALTER TABLE table_name ADD ( ... ) ;
- ALTER TABLE table_name CHANGE ( ... ) ;
- ALTER TABLE table_name DROP
PRIMARY KEY ;
보면 알겠지만, 첫 번째 형식은 TABLE에 열, 기본 키등을 테이블에 추가하는데 사용하고,
두 번째 형식은 기존의 열들을 변경하는데 사용합니다.
세 번째는 TABLE의 기본 키를 DROP시키는데 사용하죠~!
그럼 예를 들께요.
- email address추가하기
ALTER TABLE student ADD email char(50) ;
- NOT NULL을 NULL로 바꾸기
ALTER TABLE student CHANGE age age NULL ;
- NULL을 NOT NULL로 바꾸기
ALTER TABLE student CHANGE age age NOT NULL ;
- 열의 폭 늘이기
ALTER TABLE student CHANGE name name CHAR(20) ;
- 열의 폭 줄이기
ALTER TABLE student CHANGE name name CHAR(15) ;
고친 후에 DESC STUDENT ;로 확인이 가능하겠죠?