์ธ์ฐ๋ ๋ฐฉ๋ฒ
- DML = ๋ฐ์ดํฐ ์กฐ์: ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ค๋ ์๋ฏธ๋ก, ๋ฐ์ดํฐ ์์ฒด๋ฅผ ๋ค๋ฃจ๋ ๋ช ๋ น์ด๋ค์ ๋๋ค. "DML์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฌ๋ค."
- DDL = ๋ฐ์ดํฐ ์ ์: ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ๋ณ๊ฒฝํ๋ ์์ ์ ํ๋ค๊ณ ๊ธฐ์ตํ๋ฉด ๋ฉ๋๋ค. "DDL์ ํ ์ด๋ธ์ ๋ง๋ ๋ค."
- DCL = ๋ฐ์ดํฐ ๊ถํ: ๊ถํ์ ์ ์ดํ๋ ๋ช ๋ น์ด์ ๋๋ค. "DCL์ ์ ๊ทผ์ ๊ด๋ฆฌํ๋ค."
- TCL = ํธ๋์ญ์ ์ ์ด: ํธ๋์ญ์ ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. "TCL์ ํธ๋์ญ์ ์ ๋๋ธ๋ค."
1. DML (Data Manipulation Language) - ๋ฐ์ดํฐ ์กฐ์์ด
DML์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์ฝ์ , ์์ , ์ญ์ ํ๋๋ฐ ์ฌ์ฉ๋๋ SQL ๋ฌธ์ฅ์ ํฌํจํฉ๋๋ค.
DML์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ช ๋ น์ด์ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์กฐํํ๋ ์์ ์ ์ํํฉ๋๋ค.
- ์ฃผ์ ๋ช
๋ น์ด:
- SELECT: ๋ฐ์ดํฐ ์กฐํ
- INSERT: ๋ฐ์ดํฐ ์ฝ์
- UPDATE: ๋ฐ์ดํฐ ์์
- DELETE: ๋ฐ์ดํฐ ์ญ์
์์
SELECT * FROM Customers WHERE Country = 'USA';
INSERT INTO Customers (Name, Country) VALUES ('Alice', 'USA');
UPDATE Customers SET Country = 'Canada' WHERE Name = 'Alice';
DELETE FROM Customers WHERE Name = 'Alice';
2. DDL (Data Definition Language) - ๋ฐ์ดํฐ ์ ์์ด
DDL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ(์คํค๋ง)๋ฅผ ์ ์ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํ ์ด๋ธ ์์ฒด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ์คํค๋ง๋ฅผ ์กฐ์ํฉ๋๋ค.
ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ์ ์์ฑ, ์์ , ์ญ์ ํ ์ ์์ต๋๋ค.
- ์ฃผ์ ๋ช
๋ น์ด:
- CREATE: ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ ๋ฑ์ ์์ฑ
- ALTER: ๊ธฐ์กด ํ ์ด๋ธ์ด๋ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ๋ณ๊ฒฝ
- DROP: ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ ๋ฑ์ ์ญ์
- TRUNCATE: ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋น์ฐ๊ณ ๊ตฌ์กฐ๋ง ๋จ๊น
์์
CREATE TABLE Customers (ID INT, Name VARCHAR(100), Country VARCHAR(100));
ALTER TABLE Customers ADD COLUMN Email VARCHAR(100);
DROP TABLE Customers;
TRUNCATE TABLE Customers;
3. DCL (Data Control Language) - ๋ฐ์ดํฐ ์ ์ด์ด
DCL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ํ์ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
DCL์ ๋ฐ์ดํฐ ์ ๊ทผ ๊ถํ์ ์ ์ดํ๋ ๋ช ๋ น์ด์ ๋๋ค. ๋๊ฐ ๋ฌด์์ ํ ์ ์๋์ง๋ฅผ ์ค์ ํ๊ฑฐ๋ ํด์ ํฉ๋๋ค.
์ฃผ๋ก ๋ณด์๊ณผ ๊ด๋ จ๋ ์์ ์ ๋๋ค.
- ์ฃผ์ ๋ช
๋ น์ด:
- GRANT: ํน์ ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ๊ถํ ๋ถ์ฌ
- REVOKE: ํน์ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌ๋ ๊ถํ์ ํ์
GRANT SELECT ON Customers TO User1;
REVOKE SELECT ON Customers FROM User1;
4. TCL (Transaction Control Language) - ํธ๋์ญ์ ์ ์ด์ด
TCL์ ํธ๋์ญ์ ์ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ๋ฌ ์์ ์ด ํ๋์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ์คํ๋ ๋, ๊ทธ ์์ ๋ค์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ์ง, ์๋๋ฉด ๋กค๋ฐฑ๋ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
TCL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํธ๋์ญ์ ์ ์ ์ดํ๋ ๋ช ๋ น์ด์ ๋๋ค. ํธ๋์ญ์ ์ ์๋ฃ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์๊ตฌ์ ์ผ๋ก ์ ์ฉํ๊ฑฐ๋ ์ทจ์ํ ์ ์์ต๋๋ค.
- ์ฃผ์ ๋ช
๋ น์ด:
- COMMIT: ํธ๋์ญ์ ์์ ์ํ๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ
- ROLLBACK: ํธ๋์ญ์ ์์ ์ํ๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ทจ์ํ๊ณ ์๋ ์ํ๋ก ๋ณต๊ตฌ
- SAVEPOINT: ํธ๋์ญ์ ๋ด์์ ํน์ ์ง์ ์ ์ค์ ํ์ฌ ๊ทธ ์ง์ ๊น์ง์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์ฅํ๊ณ , ํ์์ ๊ทธ ์ง์ ์ผ๋ก ๋กค๋ฐฑ ๊ฐ๋ฅ