데이터 정의 언어로 객체를 만들고(CREATE), 수정하고(ALTER), 삭제하는(DROP)구문
=> 컬럼(추가/수정/삭제), 제약조건(추가/삭제), 이름변경(테이블, 컬럼, 제약조건)
=> ALTER TABLE 테이블명 ADD [CONSTRAINT 제약조건명] 제약조건(컬럼명)
[REFERENCES 테이블명[(컬럼명)]]
=> ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명;
=> ALTER TABLE 테이블명 ADD(컬럼명 데이터타입 [DEFAULT '값']);
=> ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입; (데이터 타입 변경)
ALTER TABLE 테이블명 MODIFY 컬럼명 DAFAULT '값'; (기본값 변경)
** 데이터 타입 수정 시 컬럼에 저장된 데이터 크기 미만으로 변경할 수 없다.
=> ALTER TABLE 테이블명 DROP 삭제할 컬럼명;
ALTER TABLE 테이블명 DROP COLUMN (삭제할 컬럼명);
** 테이블에는 최소 1개 이상의 컬럼이 존재해야 되기 때문에 모든 컬럼 삭제 X
=> ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 변경명;
=> ALTER TABLE 테이블명 RENAME CONSTRAINT 제약조건명 TO 변경명;
=> ALTER TABLE 테이블명 RENAME TO 변경명;
[작성법]
DROP TABLE 테이블명 [CASCADE CONSTRAINT];
** 외래키 제약조건이 걸린 테이블을 삭제하는 방법
1) 자식 -> 부모 테이블 순서로 삭제하기
2) CASCADE CONSTRAINTS 옵션 사용
(FK 제약조건으로 인해 삭제가 원래는 불가능하지만, 제약조건을 없애버려서 FK 관계를 해제시킨다.)