이미 테이블을 생성한 이후 칼럼의 속성을 변경하려는 경우 문법이 헷갈릴 수 있다.
그래서 테이블 생성 후에 칼럼을 추가하거나 속성 변경, 외래키 등 추가하는 문법을 정리해 놓는다.
☑️ MySQL에서 명령어는 대소문자 구분이 없기 때문에 소문자로 작성해도 된다.
🐙 column 추가하기
ALTER TABLE [table명] ADD [column명] [자료형];
🐙 column에 not null 속성 부여하기
ALTER TABLE [table명] MODIFY [column명] [자료형] NOT NULL;
☑️ 'NULL' 로 변경하고 싶다면 'NOT NULL' 부분을 지우면 된다.
☑️ 자료형을 바꾸고 싶다면 [자료형]에 바꾸고 싶은 자료형을 입력한다.
🐙 column에 unique 속성 부여하기(Unique key)
ALTER TABLE [table명] MODIFY [column명] [자료형] UNIQUE;
☑️ MySQL에는 Unique key(UNI), Primary key(PRI), Multiple key(MUL) 이렇게 총 3종류의 key가 있는데 unique 키는 중복성이 허용되지 않지만 null에 대한 허용이 가능하다. unique 속성을 부여하면 table key에 'UNI'라고 적혀있다.
☑️ 만약에 key가 uni, pri, mul 중 여러개에 해당된다면 PRI < UNI < MUL 순의 우선순위로 출력된다.
🐙 column 이름 변경
ALTER TABLE [table명] CHANGE [기존column명] [변경할column명] [자료형];
🐙 column 삭제하기
ALTER TABLE [table명] DROP COLUMN [column명];
🐙 column default 값 변경하기
ALTER TABLE [table명] COLUMN [column명] SET DEFAULT [디폴트값];
🐙 column에 값 자동 증가(auto_increment) 설정하기
ALTER TABLE [table명] MODIFY [column명] [자료형] AUTO_INCREMENT;
🐙 column에 auto_increment 값 초기화 하기
ALTER TABLE [table명] AUTO_INCREMENT=[초기화 후 시작숫자];
🐙 column 순서 변경하기
ALTER TABLE [talbe명] MODIFY [순서바꿀column명] [자료형] AFTER [앞에오는column명];
🐙 column에 외래키(FK) 부여하기
ALTER TABLE [table명] ADD FOREIGN KEY([column명]) REFERENCES [참조table명]([참조column명]);
ALTER TABLE USER ADD FOREIGN KEY(ORDER_ID) REFERENCES ORDER;
// 제약조건 부여하기
ALTER TABLE [table명] ADD CONSTRAINT [제약조건명] FOREIGN KEY([column명])
REFERENCES [참조table명]([참조column명]);
☑️ 두번째 줄에 작성한 것과 같이 해당 테이블에 PK가 하나밖에 없는 경우는 참조칼럼은 생략가능하다.
☑️ MySQL 결과에선 FK는 'MUL'로 나온다. (MUL은 보통은 외래키이다. 논유니크 인덱스(중복 가능)의 첫번째 칼럼을 나타낸다.)
'DATABASE' 카테고리의 다른 글
[MariaDB/MySQL] JPA Foreign Key 2개를 Primary Key로 사용하기 (0) | 2022.10.01 |
---|---|
[MySQL] 유용한 쿼리문 (2) | 2022.09.03 |