π[SQL] DMLμ΄λ?
DML(Data Manipulation Language) μ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ‘°μνλλ° μ¬μ©λλ SQLμ νμ μΈμ΄μ λλ€.
DML λͺ λ Ήμ΄λ λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ , μμ , μμ , μ‘°ννλ μμ μ μνν©λλ€.
DMLμ μ£Όλ‘ ν μ΄λΈ λ΄μ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ° μ¬μ©λλ©°, λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰(μ: ν μ΄λΈ μμ± λλ μμ )λ₯Ό λ³κ²½νμ§ μμ΅λλ€.
1οΈβ£ DMLμ μ£Όμ λͺ λ Ήμ΄
1. SELECT
- λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ‘°ννλ λͺ λ Ήμ΄μ λλ€.
- ν μ΄λΈμ μ μ₯λ λ°μ΄ν°λ₯Ό μ νμ μΌλ‘ κ°μ Έμ€κ±°λ νΉμ 쑰건μ λ§λ λ°μ΄ν°λ₯Ό κ²μν μ μμ΅λλ€.
μμ: λ°μ΄ν° μ‘°ν
SELECT * FROM User WHERE age > 25;
-
Users
ν μ΄λΈμμage
κ° 25λ³΄λ€ ν° λͺ¨λ νμ μ‘°νν©λλ€.
2. INSERT
- ν μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ νλ λͺ λ Ήμ΄μ λλ€.
- ν μ΄λΈμ κ° μ΄(Column)μ λ§λ λ°μ΄ν°λ₯Ό μ ν(Row)μΌλ‘ μΆκ°ν©λλ€.
μμ: λ°μ΄ν° μ½μ
INSERT INTO Users (name, email, age) VALUES ('Kobe', 'kobe@example.com', 30);
-
Users
ν μ΄λΈμ μλ‘μ΄ μ¬μ©μμ λ°μ΄ν°λ₯Ό μ½μ ν©λλ€.
3. UPDATE
- ν μ΄λΈμ κΈ°μ‘΄ λ°μ΄ν°λ₯Ό μμ νλ λͺ λ Ήμ΄μ λλ€.
- νΉμ 쑰건μ λ§μ‘±νλ λ°μ΄ν°λ₯Ό μ°Ύμ μμ ν μ μμ΅λλ€.
μμ: λ°μ΄ν° μμ
UPDATE Users SET age = 31 WHRER name = 'Kobe';
-
Users
ν μ΄λΈμμ μ΄λ¦μ΄'Kobe'
μΈ μ¬μ©μμ λμ΄λ₯Ό 31λ‘ μμ ν©λλ€.
4. DELETE
- ν μ΄λΈμμ λ°μ΄ν°λ₯Ό μμ νλ λͺ λ Ήμ΄μ λλ€.
- νΉμ 쑰건μ λ§μ‘±νλ λ°μ΄ν°λ₯Ό μμ νκ±°λ, λͺ¨λ λ°μ΄ν°λ₯Ό μμ ν μ μμ΅λλ€.
μμ: λ°μ΄ν° μμ
DELETE FROM Users WHERE age < 18;
-
Users
ν μ΄λΈμμ λμ΄κ° 18 λ―Έλ§μΈ λͺ¨λ ν(Row)μ μμ ν©λλ€.
2οΈβ£ DMLμ νΉμ§.
1. λ°μ΄ν° μ‘°μ.
- DMLμ λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ°μ΄ν°λ₯Ό μ§μ μ μΌλ‘ μ‘°μνλ λ° μ¬μ©λ©λλ€.
- λ°μ΄ν°λ₯Ό μΆκ°νκ±°λ μμ νκ³ , κΈ°μ‘΄ λ°μ΄ν°λ₯Ό μ‘°ννκ±°λ μμ νλ λ±μ μμ μ μνν©λλ€.
2. νΈλμμ κ³Ό μ°κ΄.
- DML λͺ λ Ήμ΄λ νΈλμμ κ΄λ¦¬μ λ°μ ν κ΄λ ¨μ΄ μμ΅λλ€.
- DML λͺ λ Ήμ΄λ‘ λ°μ΄ν°λ₯Ό λ³κ²½νλ μμ μ νΈλμμ λ΄μμ μνλ μ μμΌλ©°, νΈλμμ μ 컀λ°(COMMIT) λλ λ‘€λ°±(ROLLBACK) μ ν΅ν΄ λ°μ΄ν°μ μΌκ΄μ±κ³Ό 무결μ±μ 보μ₯ν μ μμ΅λλ€.
3. νΈλμμ νμ.
- DML μμ μ λ°μ΄ν°λ² μ΄μ€μμ μ€μ λ°μ΄ν°λ₯Ό λ³κ²½νλ μμ μ΄λ―λ‘ νΈλμμ μ΄ νμν©λλ€.
- λ°μ΄ν° λ³κ²½ μμ μ΄ μλ£λλ©΄ COMMITμ ν΅ν΄ μ μ₯νκ³ , μ€λ₯κ° λ°μνλ©΄ ROLLBACKμ ν΅ν΄ λ³κ²½ μμ μ μ·¨μν μ μμ΅λλ€.
4. λ°μ΄ν° ꡬ쑰 λ³κ²½ μμ
- DMLμ λ°μ΄ν°λ₯Ό λ€λ£¨λ λ° μ΄μ μ λ§μΆλ©°, ν μ΄λΈμ΄λ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰 μ체λ₯Ό λ³κ²½νμ§λ μμ΅λλ€.
- ꡬ쑰 λ³κ²½μ DDL(Data Definition Language)μ μν μ λλ€.
3οΈβ£ DML μ¬μ© μμ
1. λ°μ΄ν° μ‘°ν(SELECT)
SELECT name, email FROM Users WHERE age > 25;
-
Users
ν μ΄λΈμμ λμ΄κ° 25 μ΄μμΈ μ¬μ©μλ€μ μ΄λ¦κ³Ό μ΄λ©μΌμ μ‘°νν©λλ€.
2. λ°μ΄ν° μ½μ (INSERT)
INSERT INTO Users (name, email, age) VALUES ('Kobe', 'kobe@example.com', 28);
-
Users
ν μ΄λΈμ μλ‘μ΄ μ¬μ©μμΈKobe
λ₯Ό μΆκ°ν©λλ€.
3. λ°μ΄ν° μμ (UPDATE)
UPDATE Users SET email = 'dev.kobe@example.com' WHERE name = 'Kobe';
-
Users
ν μ΄λΈμμ μ΄λ¦μ΄Kobe
μΈ μ¬μ©μμ μ΄λ©μΌμ μμ ν©λλ€.
4. λ°μ΄ν° μμ (DELETE)
DELETE FROM Users WHERE id = 3;
-
Users
ν μ΄λΈμμid
κ° 3μΈ μ¬μ©μμ λ°μ΄ν°λ₯Ό μμ ν©λλ€.
4οΈβ£ DMLκ³Ό DDLμ μ°¨μ΄μ .
-
DML(Data Manipulation Language)
- DMLμ λ°μ΄ν° μ체λ₯Ό μ‘°μνλ λ° μ¬μ©λ©λλ€.
-
SELECT
,INSERT
,UPDATE
,DELETE
μ κ°μ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό μ½μ , μ‘°ν, μμ , μμ ν μ μμ΅λλ€. - νΈλμμ μ²λ¦¬(컀λ°, λ‘€λ°±)κ° νμνλ©°, λ°μ΄ν°λ² μ΄μ€ λ΄μμ λ°μ΄ν° μ‘°μμ΄ μ€μ¬μ λλ€.
-
DDL(Data Definition Language)
- DDLμ λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰λ₯Ό μ μνλ λ° μ¬μ©λ©λλ€.
-
CREATE
,ALTER
,DROP
λ±μ λͺ λ Ήμ΄λ₯Ό ν΅ν΄ ν μ΄λΈκ³Ό κ°μ λ°μ΄ν°λ² μ΄μ€ κ°μ²΄λ₯Ό μμ±, μμ , μμ ν μ μμ΅λλ€. - DDLμ μΌλ°μ μΌλ‘ νΈλμμ κ΄λ¦¬ μμ΄ μλ 컀λ°λλ©°, λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰 κ΄λ¦¬κ° μ€μ¬μ λλ€.
5οΈβ£ μμ½.
DML(Data Manipulation Language)μ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ½μ
, μ‘°ν, μμ , μμ νλ μμ
μ μννλ SQL μΈμ΄μ
λλ€.
DMLμ λ°μ΄ν° μ체λ₯Ό μ§μ μ μΌλ‘ μ‘°μνλ λ° μ¬μ©λλ©°, νΈλμμ
κ³Ό μ°κ΄μ΄ κΉμ΄ μμ
μ 무결μ±μ 보μ₯νκΈ° μν΄ COMMITμ΄λ ROLLBACKμ ν΅ν΄ μμ
μ μλ£ μ¬λΆλ₯Ό νμΈν μ μμ΅λλ€.
DMLμ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ λ€λ£¨κ³ κ΄λ¦¬νλ λ° νμμ μΈ μν μ νλ©°, μ€μ λ°μ΄ν° μ‘°μμ μ§μ€νλ μΈμ΄μ
λλ€.