제수기 > SQL > DDL

Eunbi Jo·2024년 12월 27일
0

제수기

목록 보기
19/90
제수기 - 제발 수업내용을 기억하자

DDL

-- Data Definition Language 데이터 정의 언어
-- DB객체에 대해 생성(create)/수정(alter)/삭제(drop)하는 언어
-- DB객체 : table, user, index(색인), view(인라인뷰의 저장모드), 
			procedure, function, 
			scheduler(배치성 작업. 예를 들어 배민 음식점 리뷰 남기면 리뷰 테이블에 insert되는 건데, 반영을 모아서 사용자 접속 적을 때 반영한다. 그걸 특저 시간마다 실행되도록 해놓을 수 있다.) 등
-- DML과 다르게 별도의 TCL(commit/rollback) 없이도 실행 즉시 DB에 반영된다.

💥CREATE

-- 테이블 생성 명령
-- 테이블의 구조(컬럼명/자료형/기본값/제약조건) 선언
-- if not exists : 해당 테이블이 존재하지 않을 때만 생성하는 옵션.

information_schema: DBMS가 관리하는 메타정보를 가진 shema

()

ALTER

-- 테이블 객체의 구조를 변경하는 명령어
# 변경항목
-- ADD : 컬럼 추가, 제약조건추가
-- DROP : 컬럼 삭제, 제약조건 삭제
-- MODIFY : 컬럼 자료형 변경, [NOT] NULL 변경, 기본값 변경
-- CHANGE : 컬럼명 변경 (제약조건은 이름변경 불가)
-- RENAME : 테이블명 변경

컬럼 추가

컬럼 삭제

컬럼명, 컬럼 변경

제약조건 추가

제약조건 삭제

  • 제약조건은 수정이 안되니까 삭제했다가 추가해야 한다.

DROP

-- 테이블 삭제 명령어
-- 실행취소가 없으므로 항상 drop 구문은 주석으로 작성하고, 블럭잡아서 실행할 것!

TRUNCATE

-- 복구 안 됨
-- 테이블의 모든 행을 잘라내는 명령어
-- DML DELETE와 다르게 DDL 명령이고, before-image 작업이 없어 delete 대비 속도가 빠르다.
-- 대량으로 지울 때 좋음

  • delect는 rollback하면 복구가 되는데
  • truncate은 안 된다.

0개의 댓글