DDL(Data Definition Language) 테이블과 관련된 열을 생성하고 변경하고 삭제하는 데이터 정의어.
CREATE TABLE 명령어는 새로운 테이블을 생성할 때 사용.
CREATE TABLE 테이블 이름 (
열 이름 1 데이터 타입,
열 이름 2 데이터 타입[(자릿수)],
열 이름 3 데이터 타입 [, default 값, 제약 조건]
...
);
기존 테이블을 복사해서 테이블 생성. 서브 쿼리 이용.
CREATE TABLE 테이블 이름
AS
SELECT 문
컬럼 레벨 설정
테이블 레벨 설정
기본 문법 : constraint 제약조건이름 제약조건타입
테이블 제약 조건 조회
ALTER TABLE 명령어는 열을 추가, 변경, 삭제하여 테이블의 구조를 변경할 수 있다.
ALTER TABLE 명령어에 ADD 절을 이용해서 열을 추가.
ALTER TABLE 테이블 이름
ADD ( 열 이름 1 데이터 타입,
열 이름 2 데이터 타입,
...
);
특징은 다음과 같다.
ALTER TABLE 테이블이름 MODIFY (수정할 열 이름 변경설정 [, 수정할 열 이름 변경설정])
ALTER TABLE ~ RENAME COLUMN 절을 사용하면 열 이름을 수정할 수 있다.
ALTER TABLE 테이블 이름 RENAME COLUMN 열 이름 1 TO 바꾸려는 열 이름 1;
ALTER TABLE ~ DROP COLUMN 절을 사용하여 열을 삭제할 수 있다.
ALTER TABLE 테이블 이름 DROP COLUMN 열 이름;
ALTER TABLE 테이블 이름 SET UNUSED (열 이름 [, ..])
ALTER TABLE 테이블 이름 DROP UNUSED COLUMNS
제약 조건 관련 수정
-제약조건 추가
ALTER TABLE 테이블 이름 ADD CONSTRAINT 제약 조건 설정
ALTER TABLE 테이블 이름 DROP CONSTRAINT 제약 조건 이름
ALTER TABLE 테이블명 DROP PRIMARY KEY [CASCADE]
CASECADE : 제거하는 Primary Key를 Foreign key 가진 다른 테이블의 Foreign key 설정을 모두 삭제한다.
NOT NULL <-> NULL 변환은 컬럼 수정을 통해 한다.
ALTER TABLE 테이블 이름 MODIFY (열 이름 NOT NULL)
ALTER TABLE 테이블 이름 MODIFY (열 이름 NULL)
TRUNCATE TABLE 명령어는 테이블의 데이터를 모두 삭제하고 사용하던 기억 공간도 해제한다. 테이블에 생성된 인덱스와 같은 객체도 같이 삭제된다. 데이터는 삭제되지만 테이블의 구조는 삭제되지 않는다. 삭제된 데이터는 자동으로 커밋된다.
TRUNCATE TABLE 테이블 이름;
DROP TABLE 명령어는 테이블을 완전히 삭제한다.
DROP TABLE 테이블 이름 [CASCADE CONSTRAINTS];