이미 테이블을 생성한 이후 칼럼의 속성을 변경하려는 경우 문법이 헷갈릴 수 있다.

그래서 테이블 생성 후에 칼럼을 추가하거나 속성 변경, 외래키 등 추가하는 문법을 정리해 놓는다.

 

☑️ 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