๐ถ๐ปโโ๏ธ SQL์ ์ฌ์ฉํ๋ ์ด์
- ์ฌ์ฉ์๊ฐ RDBMS ์์คํ
์ ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ ์ ์๊ฒ ํด์ค๋ค.
- ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ํด๋น ํน์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ์ ์๋ค.
- SQL ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ
์ด๋ธ์ ๋ง๋ค๊ณ ์ญ์ ํ ์ ์๋ค.
- SQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํจ์๋ฅผ ์ฌ์ฉํ๊ณ , ๋ณด๊ธฐ๋ฅผ ๋ง๋ค๊ณ , ์ ์ฅ ํ๋ก์์ ๋ฅผ ๋ง๋ค ์ ์๋ค.
- ํ
์ด๋ธ, ํ๋ก์์ ๋ฐ ๋ณด๊ธฐ์ ๋ํ ๊ถํ์ ์ค์ ํ ์ ์๋ค.
๐ถ๐พโโ๏ธ DDL (Data Define Language)
๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋
ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํ
์ด๋ธ)์ ์ถ๊ฐํ๊ณ ์์ ํ๊ณ ์ญ์ ํ ์ ์๋ค.
๋ฐ์ดํฐ ์ ์ ์ธ์ด
๋ฐ์ดํฐ๋ฒ ์ด์ค์ Schema(ํํ)๋ฅผ ์ ์ํ ์ ์๋ ์ฟผ๋ฆฌ๋ฌธ์ ์๋ฏธํ๋ค. CREATE, ALTER, DROP ์ด ๋ํ์ ์ธ ์ฟผ๋ฆฌ๋ฌธ์ด๋ค. DDL์ ์ํ๋ ์ฟผ๋ฆฌ๋ฌธ์ ์ด๋ฆ์์๋ ์ ์ ์๋ฏ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋
ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํ
์ด๋ธ)๋ฅผ ์ถ๊ฐํ๊ณ ์์ ํ๊ณ ์ญ์ ํ ์ ์๋ค. ๋ํ ๋ฉํ๋ฐ์ดํฐ(๋ฐ์ดํฐ์ ๋ํ ๋ฐ์ดํฐ)๋ฅผ ๋ค๋ฃจ๋ ์ฟผ๋ฆฌ๋ฌธ์ด๋ผ๊ณ ํ ์ ์๋ค.
- CREATE: ์์ฑ
- ALTER: ์์ (MODIFY), ์ญ์ (DROP), ์ถ๊ฐ(ADD)
- DROP: ํ
์ด๋ธ์ ๊ตฌ์กฐ ์์ฒด๋ฅผ ์ญ์ (DELETE์ ๋ค๋ฆ!)
- TRUNCATE: ํ
์ด๋ธ์ ๊ตฌ์กฐ๋ ๋จ๊ธฐ๊ณ ๋ฐ์ดํฐ๋ง ์ ๋ถ ์ญ์
- RENAME: ํ
์ด๋ธ๋ช
์ด๋ ์ปฌ๋ผ๋ช
๋ณ๊ฒฝ
๐ถ๐ฟ DQL (Data Query Language)
๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋๋ sql๋ฌธ์ด๋ค. (๋ฐ์ดํฐ ์ง์ ์ธ์ด)
์ฟผ๋ฆฌ๋ฅผ ํ๋ค ๋ผ๊ณ ํ๋๋ฐ, Query์ ์ฌ์ ์ ์๋ฏธ๋ ๋ฌป๋ค
, ์ง๋ฌธํ๋ค
๋ผ๋ ๋ป์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํฉ์ ๋น๋์ด ๋ณด๋ฉด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ฌ๋ผ๊ณ ์์ฒญํ๋ ๊ฒ์ผ๋ก ํด์ํ ์ ์๋ค. DQL์ด ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ฟผ๋ฆฌ๋ฌธ์ด ์๋๊น ์ถ๋ค.
-
SELECT: ๋ฐ์ดํฐ ๊ฒ์
-
DQL + DML = CRUD
๐ถ๐ปโโ๏ธ DML (Data Manipulation Language)
๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ์ฟผ๋ฆฌ๋ฌธ์ ๋ปํ๋ค. INSERT, UPDATE, DELETE๋ฌธ์ด ๋ํ์ ์ธ ์ฟผ๋ฆฌ๋ฌธ์ด๋ค.
- INSERT: ๋ฐ์ดํฐ ์ถ๊ฐ
- UPDATE: ๋ฐ์ดํฐ ์์
- DELETE: ๋ฐ์ดํฐ ์ญ์
- LOCK: ํ
์ด๋ธ ์ ์ด ๋์์ฑ
๐ถ๐ป DCL (Data Control Language)
๋ฐ์ดํฐ ์ ์ด ์ธ์ด
"๊ถํ๋ถ์ฌ์ ํด์ "๋ฅผ ์ง์ ํ ์ ์๋ค.
- GRANT: ๊ถํ ๋ถ์ฌ
- REVOKE: ๊ถํ ํด์
- COMMIT: ํธ๋์ญ์
์ ์์
์ ์ทจ์ ๋ฐ ์์๋ณต๊ตฌ
- ROLLBACK: ํธ๋์ญ์
์ ์์
์ ์ทจ์ ๋ฐ ์์๋ณต๊ตฌ
๐ถ๐ฟโโ๏ธ TCL (Transaction Control Language)
ํธ๋์ญ์
์ ์ด ์ธ์ด๋ก ๋ฐ์ดํฐ ์กฐ์์ด(DML) ๋ช
๋ น์ด ์คํ, ์ทจ์, ์์์ ์ฅํ ๋ ์ฌ์ฉํ๋ ๋ช
๋ น์ด
- COMMIT: ํธ๋์ญ์
์ปค๋ฐ
- ROLLBACK: ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋ ํธ๋์ญ์
๋กค๋ฐฑ
- SAVEPOINT: ํธ๋์ญ์
๋ด ์ ์ฅ์ ์ ์ค์ (์์์ ์ฅ)
- SET TRANSACTION: ํธ๋์ญ์
์ ํน์ฑ์ ์ง์