[SQL] #10 SQL 데이터 정의어(DDL) 완전 정리, CREATE부터 DROP까지

2025. 8. 1. 16:00·Database/SQL
반응형

 

안녕하세요 토스트데브입니다 😊
오늘은 SQL에서 테이블, 컬럼, 제약 조건 등을 만들고 수정할 때 사용하는 명령어, 바로 데이터 정의어(DDL)에 대해 알아보겠습니다!
SQL을 처음 배우는 분들이라면 꼭 한 번 정리하고 넘어가야 할 중요한 개념이에요.

 

 

🏗️ 데이터 정의어 DDL이란?

DDL(Data Definition Language)은 데이터베이스의 구조를 정의하거나 변경하는 SQL 명령어입니다.
즉, 테이블을 만들고, 바꾸고, 삭제할 때 사용하는 명령어라고 보면 됩니다.

 

 

🧩 주요 DDL 명령어

1️⃣ CREATE – 새 객체 생성

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  email VARCHAR(100),
  created_at DATETIME
);

➡️ users라는 테이블을 새로 생성합니다.

CREATE는 테이블뿐만 아니라, 데이터베이스(DB), 뷰(View), 인덱스(Index), 프로시저(Procedure) 등도 생성할 수 있어요.

 

2️⃣ ALTER – 기존 객체 수정

ALTER TABLE users ADD phone VARCHAR(20);

 

➡️ users 테이블에 phone 컬럼을 추가합니다.

ALTER TABLE users DROP COLUMN email;

 

➡️ email 컬럼 삭제

ALTER TABLE users MODIFY name VARCHAR(100);

➡️ name 컬럼의 데이터 타입 변경

 

3️⃣ DROP – 객체 완전 삭제

DROP TABLE users;

➡️ users 테이블을 데이터 포함 통째로 삭제합니다. 되돌릴 수 없어요 ⚠️

 

4️⃣ TRUNCATE – 데이터만 전부 삭제 (구조는 유지)

TRUNCATE TABLE users;

➡️ 테이블 구조는 남기고, 데이터만 전부 삭제합니다.
DELETE보다 빠르지만 롤백 불가능한 점 주의!

 

5️⃣ RENAME – 객체 이름 변경

RENAME TABLE users TO members;

➡️ 테이블 이름을 변경합니다.

 

 

🔐 추가 개념: 제약조건 (Constraints)

DDL을 통해 테이블을 정의할 때 데이터 무결성을 지키기 위해 제약 조건을 설정할 수 있습니다.

제약조건 설명
PRIMARY KEY 기본 키 (고유 + NOT NULL)
UNIQUE 중복 불가
NOT NULL 반드시 값 존재
DEFAULT 기본값 지정
FOREIGN KEY 외래 키, 참조 무결성 보장

 

 

📝 마무리

DDL은 데이터의 “그릇”을 정의하는 역할을 합니다.
어떤 테이블을 만들고, 어떤 컬럼이 있으며, 어떤 제약 조건이 있는지를 설계하는 단계죠.
SQL을 처음 배우는 입문자라면, DDL을 정확히 이해하는 것이 데이터베이스를 잘 다루는 첫걸음입니다!

 

 

#SQL #SQL기초 #DDL #데이터정의어 #CREATE #ALTER #DROP #TRUNCATE #테이블생성 #DBMS #SQL문법 #제약조건 #SQL강의 #MySQL

반응형
저작자표시 비영리 (새창열림)

'Database > SQL' 카테고리의 다른 글

[SQL] #11 SQL DCL과 TCL 완전 정리, 권한 관리와 트랜잭션 제어 쉽게 이해하기  (0) 2025.08.02
[SQL] #09 뷰(View)와 인덱스(Index) 완벽 이해! 속도와 재 사용을 동시에 잡자!  (2) 2025.07.31
[SQL] #08 SQL 서브쿼리 완전 정리, 중첩 쿼리의 개념과 예제까지  (1) 2025.07.30
[SQL] #07 SQL JOIN 완전 정복! INNER부터 LEFT, RIGHT까지 한눈에  (1) 2025.07.29
[SQL] #06 SQL 데이터 삽입(INSERT), 수정(UPDATE), 삭제(DELETE)  (0) 2025.07.28
'Database/SQL' 카테고리의 다른 글
  • [SQL] #11 SQL DCL과 TCL 완전 정리, 권한 관리와 트랜잭션 제어 쉽게 이해하기
  • [SQL] #09 뷰(View)와 인덱스(Index) 완벽 이해! 속도와 재 사용을 동시에 잡자!
  • [SQL] #08 SQL 서브쿼리 완전 정리, 중첩 쿼리의 개념과 예제까지
  • [SQL] #07 SQL JOIN 완전 정복! INNER부터 LEFT, RIGHT까지 한눈에
TOASTDEV
TOASTDEV
인스턴트 코딩 #토스트데브 #토스트뎁 #코딩공부 #개발입문
  • TOASTDEV
    토스트뎁
    TOASTDEV
    • 분류 전체보기 (63) N
      • 알쓸신잡 (20)
        • 코딩에 대하여 (13)
        • 컴퓨터에 대하여 (5)
        • IT 국내외 소식 (2)
      • Web Front (6)
        • HTML (6)
        • CSS (0)
        • JavaScript (0)
      • Programming (15)
        • PHP (15)
      • Database (11) N
        • SQL (11) N
        • MySQL (0)
      • Server (11)
        • Linux (11)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Youtube Toastdev
    • Naver Blog
  • 공지사항

    • [유튜브] 유튜브 영상 업로드 안내
  • 인기 글

  • 태그

    html기초
    SQL문법
    데이터베이스
    php입문
    php기초
    php코딩
    SQL강의
    SQL기초
    서버입문
    리눅스서버
    ubuntu서버
    php
    dbms
    ict
    ubuntuserver
    리눅스기초
    프론트엔드
    HTML
    코딩기초
    웹개발기초
    서버관리
    웹개발
    php문법
    sql
    코딩입문
    우분투서버
    웹프로그래밍
    웹개발입문
    코딩공부
    데이터분석
  • 최근 댓글

  • 최근 글

  • 전체
    오늘
    어제
  • 반응형
  • hELLO· Designed By정상우.v4.10.3
TOASTDEV
[SQL] #10 SQL 데이터 정의어(DDL) 완전 정리, CREATE부터 DROP까지
상단으로

티스토리툴바