테이블이나 관계의 구조를 생성하는데 사용
데이터베이스 객체(데이터베이스, 테이블, 인덱스, 뷰 등) 생성
CREATE DATABASE 데이터베이스명;
CREATE TABLE 테이블명
(
컬럼명 컬럼타입 PRIMARY KEY,
컬럼명 컬럼타입 UNIQUE NOT NULL,
컬럼명 컬럼타입 DEFAULT '기본값',
...
FOREIGN KEY(컬럼명) REFERENCES ON 참조테이블(컬럼명)
CHECK(성적 >= 100)
);
CREATE INDEX 인덱스명
ON 테이블명(컬럼명);
CREATE VIEW 뷰명[(컬럼명, ..)]
AS
SELECT 컬럼명[, 컬럼명, ..] FROM 테이블명
...
;
기존 생성된 데이터베이스 객체의 구조를 수정
ALTER TABLE 테이블명 ADD 컬럼명 컬럼타입;
ALTER TABLE 테이블명 MODIFY 컬럼명 컬럼타입;
ALTER TABLE 테이블명 DROP 컬럼명;
ALTER INDEX 구인덱스명 RENAME TO 신인덱스명; // 이름 변경
ALTER INDEX 인덱스명 REBUILD; // 인덱스 속도가 저하되거나 깨졌을 경우 재구성
ALTER INDEX 인덱스명 UNUSABLE; // 인덱스 비활성화
데이터베이스 객체 삭제
DROP DATABASE 데이터베이스명 [IF EXISTS 데이터베이스명];
DROP TABLE 테이블명 [IF EXISTS 테이블명];
데이터베이스 객체 삭제, 구조는 남기고 데이터만 비움
TRUNCATE DATABASE 데이터베이스명;
TRUNCATE TABLE 테이블명;