π[SQL] DDLμ΄λ?
DDL(Data Definition Language) μ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν° ꡬ쑰λ₯Ό μ μνκ³ κ΄λ¦¬νλ λ° μ¬μ©λλ SQLμ νμ μΈμ΄ μ λλ€.
DDL λͺ λ Ήμ΄λ λ°μ΄ν°λ² μ΄μ€μ ν μ΄λΈ, μΈλ³, μ€ν€λ§, λ·° λ±κ³Ό κ°μ κ°μ²΄λ€μ μμ±, μμ , μμ νλ μμ μ μνν©λλ€.
λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ°μ΄ν°λ₯Ό μ μ₯ν ꡬ쑰λ₯Ό μ€μ νκ³ , κ·Έ ꡬ쑰λ₯Ό λ³κ²½νκ±°λ μμ νλ μν μ ν©λλ€.
1οΈβ£ DDLμ μ£Όμ λͺ λ Ήμ΄.
1. CREATE
- λ°μ΄ν°λ² μ΄μ€ κ°μ²΄(ν μ΄λΈ, μΈλ±μ€, μ€ν€λ§, λ·° λ±) λ₯Ό μμ±ν©λλ€.
- μλ₯Ό λ€μ΄, ν
μ΄λΈμ μμ±ν λ
CREATE TABLE
λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ ν μ΄λΈμ ꡬ쑰λ₯Ό μ μν©λλ€.
μμ: ν μ΄λΈ μμ±.
CREATE TABLE Users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
2. ALTER
- κΈ°μ‘΄μ μμ±λ λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ ꡬ쑰λ₯Ό μμ νλλ° μ¬μ©λ©λλ€.
- ν μ΄λΈμ μλ‘μ΄ μ΄μ μΆκ°νκ±°λ, μ΄μ λ°μ΄ν° νμ μ λ³κ²½νλ λ±μ μμ μ μνν μ μμ΅λλ€.
μμ: ν μ΄λΈ μ΄ μΆκ°
ALTER TABLE Users
ADD COLUMN age INT;
3. DROP
- λ°μ΄ν°λ² μ΄μ€ κ°μ²΄λ₯Ό μμ νλ λ° μ¬μ©λ©λλ€.
- ν μ΄λΈ, μΈλ±μ€, λ·° λ±μ κ°μ²΄λ₯Ό μμ ν λ μ¬μ©ν©λλ€.
-
DROP
λͺ λ Ήμ΄λ λ§€μ° κ°λ ₯νλ©°, νλ² κ°μ²΄κ° μμ λλ©΄ κ·Έ μμ λͺ¨λ λ°μ΄ν°λ ν¨κ» μ¬λΌμ§κΈ° λλ¬Έμ μ£Όμκ° νμν©λλ€.
μμ: ν μ΄λΈ μμ
DROP TABLE Users;
4. TRUNCATE
- ν
μ΄λΈμ λͺ¨λ λ°μ΄ν°λ₯Ό μμ νμ§λ§, ν
μ΄λΈμ ꡬ쑰λ μ μ§ν©λλ€.
- λ°μ΄ν°λ§ μμ λκ³ , ν μ΄λΈ μ체λ λ¨μ μμΌλ―λ‘ ν μ΄λΈμ λ€μ μ¬μ©ν μ μμ΅λλ€.
-
DELETE
λͺ λ Ήμ΄μλ λ¬λ¦¬, κ°λ³ νΈλμμ μ κΈ°λ‘νμ§ μκ³ λ°μ΄ν°λ₯Ό μΌκ΄μ μΌλ‘ μμ νλ―λ‘ λ λΉ λ₯΄κ² μνλ©λλ€.
μμ: ν μ΄λΈ λ°μ΄ν° λͺ¨λ μμ .
TRUNCATE TABLE Users;
2οΈβ£ DDLμ μ£Όμ νΉμ§.
λ°μ΄ν° ꡬ쑰 μ μ.
- DDL λͺ λ Ήμ΄λ λ°μ΄ν°λ₯Ό μ μ₯ν ν μ΄λΈκ³Ό κ°μ ꡬ쑰λ₯Ό μ μνλ μν μ ν©λλ€.
- ν μ΄λΈ μμ±, μμ , μμ κ°μ μμ μ΄ μ¬κΈ°μ ν¬ν¨λ©λλ€.
μλ 컀λ°.
- DDL λͺ λ Ήμ΄λ μ€ν μ¦μ μλμΌλ‘ 컀λ°(Commit) λ©λλ€.
- μ¦,
CREATE
,ALTER
,DROP
κ°μ λͺ λ Ήμ΄λ νΈλμμ μΌλ‘ λ¬Άμ΄μ§ μκ³ , μ€νκ³Ό λμμ μ¦μ λ°μ΄ν°λ² μ΄μ€μ λ°μλ©λλ€.
λΉκ΅μ λ¨μν μμ .
- DDL λͺ λ Ήμ΄λ λ°μ΄ν°λ₯Ό μ§μ μ‘°μνμ§ μκ³ , λ°μ΄ν°λ₯Ό μ μ₯ν ꡬ쑰λ₯Ό λ€λ£¨λ λ° μ΄μ μ λ§μΆ₯λλ€.
3οΈβ£ DDLκ³Ό DMLμ μ°¨μ΄μ .
DDL(Data Definition Language)
- λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό μ μνλ μΈμ΄μ
λλ€.
- μ£Όλ‘ ν μ΄λΈ μΈλ±μ€ λ±μ λ°μ΄ν° ꡬ쑰λ₯Ό μμ±, λ³κ²½, μμ νλ λ° μ¬μ©λ©λλ€.
DML(Data Manipulation Language)
- λ°μ΄ν°λ² μ΄μ€ λ΄μ λ°μ΄ν°λ₯Ό μ‘°μνλ μΈμ΄μ
λλ€.
- λ°μ΄ν°λ₯Ό μ½μ
(
INSERT
), μ‘°ν(SELECT
), μμ (UPDATE
), μμ (DELETE
)νλ μμ μ΄ DMLμ ν΄λΉν©λλ€.
- λ°μ΄ν°λ₯Ό μ½μ
(
4οΈβ£ DDL μ¬μ© μμ.
-- ν
μ΄λΈ μμ±
CREATE TABLE Employees (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(100),
emp_salary DECIMAL(10, 2)
);
-- ν
μ΄λΈ μμ (μλ‘μ΄ μ΄ μΆκ°)
ALTER TABLE Employees
ADD COLUMN emp_department VARCHAR(50);
-- ν
μ΄λΈ λ°μ΄ν° μΌκ΄ μμ (ν
μ΄λΈ ꡬ쑰λ μ μ§)
TRUNCATE TABLE Employees;
-- ν
μ΄λΈ μμ
DROP TABLE Employees;
5οΈβ£ μμ½.
DDL(Data Definition Language)μ λ°μ΄ν°λ² μ΄μ€μμ ν μ΄λΈ, μΈλ±μ€, μ€ν€λ§μ κ°μ λ°μ΄ν° ꡬ쑰λ₯Ό μμ±νκ³ κ΄λ¦¬νλ λ° μ¬μ©λλ SQL μΈμ΄μ λλ€.
DDLμ λ°μ΄ν°μ μ μ₯ ꡬ쑰λ₯Ό μ μνλ©°, μ£Όμ λͺ
λ Ήμ΄λ‘λ CREATE
, ALTER
, DROP
, TRUNCATE
κ° μμ΅λλ€.
DDL λͺ λ Ήμ΄λ λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό λ³κ²½ν λ μ¬μ©λλ©°, λ°μ΄ν° μ체λ₯Ό λ€λ£¨μ§ μκ³ , ν μ΄λΈκ³Ό κ°μ λ°μ΄ν° μ μ₯μμ νμμ μ μνλ λ° μ€μ μ λ‘λλ€.