01. SQL (Structured Query Language) μ΄ν΄λ³΄κΈ°
- 1) SQL μ΄λ?
π λ°μ΄ν°λ² μ΄μ€μμ μ¬μ©λλ μμ±, μ½μ
, μ‘°ν λͺ
λ Ήλ¬Έμ SQL(Structured Query Language)μ΄λΌκ³ ν©λλ€.
λ°μ΄ν°λ₯Ό μ무리 λ§μ΄ λͺ¨μλλλΌλ νμ©νμ§ μμΌλ©΄ κ°μΉκ° μμ΅λλ€. 쑰건μ λ§λ λ°μ΄ν°λ₯Ό νμ©ν μ μμ΄μΌ νκ³ , λμμμ΄ λ³νλ λ΄μ©μ μ§μμ μΌλ‘ μ½μ
, μμ , μμ , μ‘°νκ° κ°λ₯ν΄μΌν©λλ€. κ·Έλ°μν©μμ λ°μ΄ν°λ₯Ό μ΄λ»κ² κ΄λ¦¬ν΄μΌν μ§ κ³ λ―Όν κ²°κ³Ό, λͺ¨λ λ°μ΄ν°λ€μ 곡ν΅μ μΌλ‘ κ΄λ¦¬ν μ μλ νμ€ μΈμ΄μΈ SQLμ΄ νμνκ² λμμ΅λλ€.
- 2) SQLμ μ’
λ₯
π‘ SQLμ μ’
λ₯
- DDL (Data Definition Language)
- DML (Data Manipulation Language)
- DCL (Data Control Language)
- TCL (Transaction Control Language)
- 3) DDL (Data Definition Language)
π DDL(Data Definition Language)μ λ°μ΄ν°λ₯Ό μ μν λ μ¬μ©νλ μΈμ΄λ‘ ν
μ΄λΈμ΄λ λ°μ΄ν°λ² μ΄μ€λ₯Ό μμ±, μμ , μμ μ κ°μ νμλ₯Ό ν λ μ¬μ©ν©λλ€.
CREATE
DATABASE, TABLE, VIEW, INDEX λ±μ μμ±ν λ μ¬μ©ν©λλ€.
CREATE DATABASE λ°μ΄ν°λ² μ΄μ€λͺ
;
CREATE TABLE ν
μ΄λΈλͺ
{
컬λΌλͺ
컬λΌμμ±
}
DROP
DATABASE, TABLE, VIEW, INDEX λ±μ μμ ν λ μ¬μ©ν©λλ€.
DROP DATABASE λ°μ΄ν°λ² μ΄μ€λͺ
;
DROP TABLE ν
μ΄λΈλͺ
;
ALTER
DATABASE, TABLE λ±μ μμ±μ λ³κ²½ν λ μ¬μ©ν©λλ€.
ALTER DATABASE λ°μ΄ν°λ² μ΄μ€λͺ
λ³κ²½μ‘°κ±΄;
ALTER TABLE ν
μ΄λΈλͺ
ADD λ³κ²½μ‘°κ±΄; -- ν
μ΄λΈμ μλ‘μ΄ μ»¬λΌμ μΆκ°ν©λλ€.
ALTER TABLE ν
μ΄λΈλͺ
DROP λ³κ²½μ‘°κ±΄; -- ν
μ΄λΈμμ 컬λΌμ μμ ν©λλ€.
ALTER TABLE ν
μ΄λΈλͺ
MODIFY λ³κ²½μ‘°κ±΄; -- ν
μ΄λΈμ 컬λΌμ μμ ν©λλ€.
ALTER TABLE ν
μ΄λΈλͺ
RENAME λ³κ²½μ‘°κ±΄; -- ν
μ΄λΈμ μ΄λ¦μ λ³κ²½ν©λλ€.
...
4) DML (Data Manipulation Language)
π
DML(Data Manopulation Language)μ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ‘°μν λ μ¬μ©νλ μΈμ΄λ‘ λ°μ΄ν°μ μ μ₯, μμ , μμ , μ‘°νμ κ°μ νμλ₯Ό ν©λλ€.
SELECT
μΌλ°μ μΌλ‘ TABLEμμ μνλ λ°μ΄ν°λ€μ μ‘°νν λ μ¬μ©ν©λλ€.
π₯ DBλ₯Ό κ΄λ¦¬νλ©΄μ κ°μ₯ λ§μ΄ μ¬μ©νλ λͺ
λ Ήμ΄ μ΄κΈ°λ ν©λλ€!
SELECT 컬λΌλͺ©λ‘ FROM ν
μ΄λΈλͺ
[WHERE 쑰건];
β
INSERT
TABLEμ μλ‘μ΄ λ°μ΄ν°λ€μ μ½μ
ν λ μ¬μ©ν©λλ€.
INSERT INTo ν
μ΄λΈλͺ
(컬λΌλͺ©λ‘) VALUES (κ°λͺ©λ‘);
β
DELETE
TABLEμμ νΉμ ν 쑰건μ λ§λ λ°μ΄ν°λ€μ μμ ν λ μ¬μ©ν©λλ€.
WHERE μ‘°κ±΄μ΄ μλ€λ©΄, λͺ¨λ λ°μ΄ν°κ° μμ λ©λλ€.
DELETE FROM ν
μ΄λΈλͺ
[WHERE 쑰건];
β
UPDATE
TABLEμμ νΉμ ν 쑰건μ λ§λ λ°μ΄ν°λ€μ μμ ν λ μ¬μ©ν©λλ€.
WHERE μ‘°κ±΄μ΄ μλ€λ©΄, λͺ¨λ λ°μ΄ν°κ° μμ λ©λλ€.
UPDATE ν
μ΄λΈλͺ
SET μ»¬λΌ = κ° [WHERE 쑰건];
5) DCL (Data Control Language)
π
DCL(Data Control Language)μ λ°μ΄ν°λ² μ΄μ€μ λν κΆνκ³Ό κ΄λ ¨λ λ¬Έλ²μΌλ‘ νΉμ μ μ κ° DBμ μ κ·Όν μ μλ κΆνμ μ€μ ν λ μ¬μ©ν©λλ€.
GRANT
λ°μ΄ν°λ² μ΄μ€μ νΉμ ν μ μ μκ² μ¬μ© κΆνμ λΆμ¬ν λ μ¬μ©ν©λλ€.
κΆνμλ SELECT, INSERT, UPDATE, DELETE λ± λ€μν μ’
λ₯κ° μ‘΄μ¬ν©λλ€.
GRANT [κΆν] ON κ°μ²΄λͺ
TO μ¬μ©μ;
β
REVOKE
λ°μ΄ν°λ² μ΄μ€μ νΉμ ν μ μ μκ² μ¬μ© κΆνμ μ·¨μν λ μ¬μ©ν©λλ€.
REVOKE [κΆν] ON κ°μ²΄λͺ
FROM μ¬μ©μ;
6) TCL (Transaction Control Language)
π
TCL(Transaction Control Language)μ λ°μ΄ν°λ² μ΄μ€ λ΄μ νΈλμμ
μ κ΄λ¦¬νλ λ¬Έλ²μΌλ‘, νΈλμμ
μ μμκ³Ό μ’
λ£, κ·Έλ¦¬κ³ λ‘€λ°±μ μνν λ μ¬μ©ν©λλ€.
COMMIT
λ°μ΄ν°λ² μ΄μ€μ μμ
μ΄ μ μμ μΌλ‘ μλ£λμμμ κ΄λ¦¬μμκ² μλ €μ€ λ μ¬μ©ν©λλ€.
π‘ νΈλμμ
μ μμΈν λ΄μ©μ λ€μ μ£Όμ°¨μ λ°°μΈ μμ μ΄μμ!
START TRANSACTION;
...
COMMIT;
β
ROLLBACK
λ°μ΄ν°λ² μ΄μ€μ μμ
μ΄ λΉμ μμ μΌλ‘ μλ£λμμμ κ΄λ¦¬μμκ² μλ €μ€ λ μ¬μ©ν©λλ€.
μμ
μ€ μ€λ₯κ° λ°μν κ²½μ° μ΄λ₯Ό μ·¨μνκ³ , μ΄μ μνλ‘ λλ릴 λ μ¬μ©ν©λλ€.
π‘ νΈλμμ
μ μμΈν λ΄μ©μ λ€μ μ£Όμ°¨μ λ°°μΈ μμ μ΄μμ!
START TRANSACTION;
...
ROLLBACK;
- SQL (Structured Query Language)
1) λ°μ΄ν° λ² μ΄μ€ κΈ°λ³Έ κ°λ
λ°μ΄ν°λ² μ΄μ€λ λ§€μ° κ³ λνλ μμ
μ
λλ€.
μμ
νμΌ νλκ° "λ°μ΄ν°λ² μ΄μ€"λΌλ©΄,
μμ
μνΈ νλλ "ν
μ΄λΈ"μ΄λΌκ³ λΆλ₯΄κ³ ,
μμ
ν νλλ "λ°μ΄ν°"λΌκ³ λΆλ¦
λλ€.