์นดํ ๊ณ ๋ฆฌ ์ด๋ณด์๋ ์ค๋นํ๋ SQL ์ฝ๋ฉ ํ ์คํธ์ ๊ฐ์๋ฉด ํด๋น ์๋ฆฌ์ฆ๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.
- ํด๋น ์๋ฆฌ์ฆ๋ฅผ ์์ํ๋ฉฐ
- ๊ธฐ์ด ์ด๋ก ๋ค์ง๊ธฐ
- ์ด๋ณด์๋ ์ค๋นํ๋ SQL ์ฝ๋ฉ ํ ์คํธ ์๋ฆฌ์ฆ๋ฅผ ๋ง์น๋ฉฐ ๋ถ์ -์ด์ ๋ญ ํด์ผ ํ๋์?
๋ฐ์ดํฐ๋ฒ ์ด์ค๋? ๋น ๋ฅด๊ฒ ์์๋ณด์.
์ฐ๋ฆฌ๊ฐ SQL ์ฝ๋ฉ ํ ์คํธ๋ฅผ ์ค๋นํ๊ธฐ ์ ์ ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌด์์ธ์ง ์์๋ณด์.
๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์
์ด๋ค.
์ค์ ๋ก ์์
๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข
๋ฅ ์ค ํ๋๋ก ์ทจ๊ธํ๊ณ ์์ผ๋ฉฐ ๋ง์ ๋ถ์ผ์์ ์ฌ์ฉ๋๊ณ ์๋ค.
ํ์ง๋ง ๊ฐ๋ฐ์๊ฐ ๋ค๋ค์ผ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์
๊ณผ๋ ์กฐ๊ธ ๋ค๋ฅธ ์ฑ๊ฒฉ์ ๊ฐ๊ณ ์๋ค.
์์
๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์๋ก ์กฐ๊ธ ๋ค๋ฅธ ์ฑ๊ฒฉ์ ๊ฐ๋๋ฐ, ์์
์ Cell ๊ฐ์ ๊ด๊ณ์ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์กฐ์ํ ์ ์๋ค.
ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ RDBMS๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด/ํ
์ด๋ธ๊ฐ์ ๊ด๊ณ์ ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ฉฐ ์ด์ฉํ๋ค.
๊ทธ๋์ ๊ฒฐ๋ก ์ ๋น ๋ฅด๊ฒ ์ด์ผ๊ธฐ ํด๋ณด์๋ฉด,
์์ ์ Cell๊ฐ์ ๊ด๊ณ์ ์ง์คํ๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๊ณผ ํ ์ด๋ธ์ ๊ด๊ณ๋ฅผ ๊ณ ๋ คํ๋ฉฐ ๋์ฑ ๋ ผ๋ฆฌ์ ์ผ๋ก ์์ ๋ณด๋ค ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ค.
์ฟผ๋ฆฌ๋ฌธ? SQL? ๋น ๋ฅด๊ฒ ์์๋ณด์
์ด๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๊ธฐ ์ํด์๋ ์ฟผ๋ฆฌ์ ๋ํ ๊ฐ๋ ์ด ์์ด์ผํ๋ค.
์ฟผ๋ฆฌ๋ฌธ๊ณผ SQL์ ๋์ผํ ๋ง์ด๋ค.
Structured Query Language ๋ฅผ ์ค์ฌ SQL์ด๋ผ ํ๊ณ , ์ด๋ฅผ ์ฟผ๋ฆฌ๋ฌธ์ด๋ผ๊ณ ํ๋ค.
์ฟผ๋ฆฌ๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๊ฒ ์ ์ฅ๋ ๊ฐ์ ๋ถ๋ฌ๋ด๋ ๋ช
๋ น์ด ํน์ ๋ฐฉ๋ฒ์ ๋ปํ๋ค.
์ด๋ฌํ ์ฟผ๋ฆฌ๋ฌธ์ ํตํด ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๊ฒ์ ๊ฐ์ ๊บผ๋ด์ค๊ธฐ๋ ํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๊ฒ ๋๋ค.
์ด๋ฐ ์ฟผ๋ฆฌ๋ฌธ์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋๋ค.
- DML
- DDL
- DCL
์ด๋ค์ ์์๋ณด์.
DML
DML์ Data Maniplulation Language๋ก ๋ฐ์ดํฐ๋ฅผ ์ค์ง์ ์ผ๋ก ์กฐ์ํ๋ ๋ช ๋ น์ด์ด๋ค.
๋ฐ์ดํฐ ์กฐ์์ด๋ผ๊ณ ํ๋ค๋ฉด ์ ํ, ์ฝ์
, ์์ , ์ญ์ ๋ฅผ ๋ปํ๋๋ฐ ์์ผ๋ก ๋ง์ด ๋ณด๊ฒ ๋ ์์ญ์ด๋ค.
- SELECT : ์ ํ
- INSERT : ์ฝ์
- UPDATE : ์์
- DELETE : ์ญ์
๊ฐ ๋ํ์ ์ธ DML์ 4ํ์ ์ด๋ค.
๋ณดํต SQL ์ฝ๋ฉ ํ ์คํธ์์๋ SELECT ๊ด๋ จ ๋ฌธ์ ๊ฐ ์ฃผ๋ก ์ถ์ ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์ด๋ฒ ์๋ฆฌ์ฆ์์๋ SELECT ์ ์กฐ๊ธ ์ง์คํ๋ ค ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์กฐ๊ธ ๋ ๊น๊ฒ ์ด์ผ๊ธฐ๋ฅผ ํ์๋ฉด ์ด DML์๋ Transaction์ด๋ผ๋ ๊ฒ์ด ์กด์ฌํ๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๊ฐ DML์ ์ฌ์ฉํ๋ฉด, Transaction์ด ๋ฐ์ํด์ ์์ ํ ์ ์ฉํ์ง ์๊ณ ์์๋ก ์ ์ฉ๋๋ค. (ํ์ง๋ง select๋ transction์ด ๋ฐ์ํ๊ธด ํ์ง๋ง ์ฑ๊ฒฉ์ด ์กฐ๊ธ ๋ค๋ฆ)
DML์ ๊ทธ๋ฅ ์๋ฌด ๊ณณ์์ ์ํํ๋ ๊ฒ์ด ์๋๋ผ ํ
์ด๋ธ์ ๋์์ผ๋ก ์ํํ๋ฏ๋ก ๊ทธ ์ ์ ๊ผญ ํ
์ด๋ธ์ด ์ ์๋์ด์์ด์ผ ํ๋ค.
SELECT ๋?
์ฌ์ค ์์ ์ค๋ช ์์ ์กฐ๊ธ ์๋ชป๋ ๋ถ๋ถ์ด ์กด์ฌํ๋ค.
์๋ชป๋ ๋ถ๋ถ? ์ ์๋์ง๋ง ์กฐ๊ธ ํท๊ฐ๋ฆด ์ ์๋ ๋ถ๋ถ์ด ์กด์ฌํ๋ค.
๋ฐ๋ก SELECT ๋ฌธ์ด๋ค.
์ฑ ์ ๋ฐ๋ผ์ ํน์ ๊ต์๋์ด๋ ํ์ต ์๋ฃ์ ๋ฐ๋ผ์ SELECT๋ฌธ์ DML์ ์ํ๋ค, ์ํ์ง ์๋๋ค๋ก ๋ค๋ฅธ๊ฒ ๊ฐ๋ค.
SELECT๋ฌธ์ ์ง์๋ฌธ์ด๋ผ๊ณ ํ์ฌ ๋ฐ๋ก ์ํ๋ ๊ฒ์ด ๋ง๋ค๊ณ ๋ ํ์ง๋ง ์ฐ์ ์ ์ด๋ ๊ฒ ์์๋ณด์.
DCL
DCL์ Data Control Language๋ก ๋ฒ์ญ ๊ทธ๋๋ก ํ์๋ฉด ๋ฐ์ดํฐ๋ฅผ ํต์ ํ๋ค๋ ์ธ์ด์ด๋ค.
- grant
- commit
๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ด๋ จ๋ ์์คํ ์ ๊ดํ ๋ด์ฉ์ ๋ด๊ณ ์๋๋ฐ, ์ฝ๋ฉํ ์คํธ์์๋ ์ ํ ์ถ์ ๋์ง ์์ผ๋ ์ด๋ฐ๊ฒ ์๋ค~๋ก๋ง ์์๋์.
DDL
DDL์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ช
๋ น์ด์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค, ํ
์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค ๋ฑ์ DB ๊ฐ์ฒด ์์ฑ/์ญ์ /๋ณ๊ฒฝ ์ ๋ด๋นํ๋๋ฐ, DDL์ ์ฝ๋ฉํ
์คํธ์์ ๋ณธ์ ์ด ์๊ธฐ ๋๋ฌธ์ DCL๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๋ฐ๊ฒ ์๋ค~๋ก๋ง ์์๋์.
- CREATE
- DROP
- ALTER
์นดํ ๊ณ ๋ฆฌ ์ด๋ณด์๋ ์ค๋นํ๋ SQL ์ฝ๋ฉ ํ ์คํธ์ ๊ฐ์๋ฉด ํด๋น ์๋ฆฌ์ฆ๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค.
๋๊ธ