제수기 - 제발 수업내용을 기억하자
-- Data Definition Language 데이터 정의 언어
-- DB객체에 대해 생성(create)/수정(alter)/삭제(drop)하는 언어
-- DB객체 : table, user, index(색인), view(인라인뷰의 저장모드),
procedure, function,
scheduler(배치성 작업. 예를 들어 배민 음식점 리뷰 남기면 리뷰 테이블에 insert되는 건데, 반영을 모아서 사용자 접속 적을 때 반영한다. 그걸 특저 시간마다 실행되도록 해놓을 수 있다.) 등
-- DML과 다르게 별도의 TCL(commit/rollback) 없이도 실행 즉시 DB에 반영된다.
-- 테이블 생성 명령
-- 테이블의 구조(컬럼명/자료형/기본값/제약조건) 선언
-- if not exists : 해당 테이블이 존재하지 않을 때만 생성하는 옵션.
()
-- 테이블 객체의 구조를 변경하는 명령어
# 변경항목
-- ADD : 컬럼 추가, 제약조건추가
-- DROP : 컬럼 삭제, 제약조건 삭제
-- MODIFY : 컬럼 자료형 변경, [NOT] NULL 변경, 기본값 변경
-- CHANGE : 컬럼명 변경 (제약조건은 이름변경 불가)
-- RENAME : 테이블명 변경
-- 테이블 삭제 명령어
-- 실행취소가 없으므로 항상 drop 구문은 주석으로 작성하고, 블럭잡아서 실행할 것!
-- 복구 안 됨
-- 테이블의 모든 행을 잘라내는 명령어
-- DML DELETE와 다르게 DDL 명령이고, before-image 작업이 없어 delete 대비 속도가 빠르다.
-- 대량으로 지울 때 좋음