SQL Categories

CREATE TABLE은 데이터를 넣는 명령이 아니라 구조를 세우는 DDL입니다.

SQL은 구조 정의, 데이터 조작, 권한 제어, 트랜잭션 제어로 나눠 읽으면 각 명령의 위험도와 목적이 훨씬 선명해집니다.

CREATE TABLE employees (...);

테이블 이름, 컬럼, 데이터 타입, 제약 조건을 선언해 데이터가 담길 틀을 만듭니다.

DDL 구조 정의

테이블, 컬럼, 제약 조건 같은 데이터베이스 객체의 틀을 다룹니다.

CREATE ALTER DROP TRUNCATE
DML 데이터 조작

이미 있는 테이블 안의 행을 조회, 추가, 수정, 삭제합니다. SELECT는 DQL로 따로 분리하기도 합니다.

SELECT INSERT UPDATE DELETE
DCL 권한 제어

사용자나 역할이 어떤 객체에 접근할 수 있는지 정합니다.

GRANT REVOKE
TCL 트랜잭션 제어

변경 작업을 확정하거나 되돌리는 경계를 관리합니다.

COMMIT ROLLBACK SAVEPOINT
1 업무 규칙을 구조로 번역

직원에게 이름, 이메일, 부서, 급여가 필요하다는 요구를 컬럼으로 바꿉니다.

2 타입과 제약 조건 지정

각 컬럼에 저장 가능한 값의 종류와 필수 여부, 중복 허용 여부를 정합니다.

3 DML이 들어갈 그릇 완성

구조가 만들어진 뒤에야 INSERT, UPDATE 같은 데이터 조작이 의미를 가집니다.

읽는 포인트: DDL은 데이터 자체보다 데이터가 놓일 구조를 바꾸므로, 운영 환경에서는 영향 범위를 확인한 뒤 실행해야 합니다.