(데이터베이스) DDL(Alter)
우선 ALTER문은 이미 존재하는 테이블의 구조나 형식등을 바꾸기 위해 사용한다.
따라서, 칼럼의 구조나 형식을 변경하기 위해 ALTER명령을 사용하게 된다.
ALTER 명령어는 다음과 같다.
<테이블 이름 변경>
ALTER TABLE 테이블명 RENAME 바꿀이름
또는
RENAME TABLE 테이블명 TO 바꿀이름
<칼럼 추가>
- 마지막에 추가: ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입
- 지정 칼럼 뒤에: ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 AFTER 칼럼이름
- 제일 앞에: ALTER TABLE 테이블명 ADD COLUMN 칼럼이름 칼럼타입 FIRST
<칼럼 삭제>
ALTER TABLE 테이블명 DROP COLUMN 칼럼이름
<칼럼 변경>
ALTER TABLE 테이블명 MODIFY 컬럼이름 컬럼타입
ALTER TABLE 테이블명 CHANGE 칼럼이름 새 칼럼이름 칼럼타입
<인덱스에 새 항목 추가>
ALTER TABLE 테이블명 ADD INDEX (칼럼이름)
<인덱스 삭제>
ALTER TABLE 테이블명 DROP INDEX(칼럼이름)
DROP INDEX 인덱스 이름 ON 테이블명
<제약 조건 추가>
테이블 생성시 제약조건을 추가하지 않았다면 추가할 수 있다.
ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 제약조건 (칼럼명);
예)
ALTER TABLE 테이블명
ADD CONSTRAINT PLAYER_FK
FOREIGN KEY (TEAM_ID) REFERENCES TEAM(TEAM_ID);
* FOREIGN KEY 제약조건을 위와 같이 추가하면 PLAYER 테이블의 TEAM_ID 컬럼이 TEAM 테이블의 TEAM_ID 컬럼을 참조하게 된다.
참조 무결성 옵션에 따라서 만약 TEAM 테이블이나 TEAM 테이블의 데이터를 삭제하려 할 경우 외부(PLAYER 테이블)에서 참조되고 있기 때문에 삭제가 불가능하게 제약을 할 수 있다.
즉 외부키(FK)를 설정함으로써 실수에 의한 테이블 삭제나 필요한 데이터의 의도치 않은 삭제와 같은 불상사를 방지하는 효과를 볼 수 있다.
댓글
댓글 쓰기