Query cache(์ฟผ๋ฆฌ ์บ์) - SQL ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ฑํ๋ ์ญํ ์ ํ๋ฉฐ ๋์ผํ SQL ์คํ์ ์ด์ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ๋ฐํํ๋ค. ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์บ์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผ ํ๋๋ฐ ์ด๋ ๋์ ์ฒ๋ฆฌ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐ์์์ผ์ MYSQL 8.0๋ถํฐ ์ฟผ๋ฆฌ ์บ์๋ ์์ ํ ์ ๊ฑฐ๋์๋ค.
Parser(ํ์) - ํ์๋ ์ฌ์ฉ์์ ์์ฒญ์ผ๋ก ๋ค์ด์จ ์ฟผ๋ฆฌ ๋ฌธ์ฅ์ ํ ํฐ์ผ๋ก ๋ถ๋ฆฌํด ํธ๋ฆฌ ํํ์ ๊ตฌ์กฐ๋ก ๋ง๋ค์ด ๋ด๋ ์์ ์ ํ๋ค. ์ฟผ๋ฆฌ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ ์ค๋ฅ๋ ์ด ๋จ๊ณ์์ ๋ฐ๊ฒฌ๋๋ฉฐ ์ฌ์ฉ์์๊ฒ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๋ค.
Pre-processor(์ ์ฒ๋ฆฌ๊ธฐ) - ํ์ ๊ณผ์ ์์ ๋ง๋ค์ด์ง ํ์ ํธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ ๋ฌธ์ฅ์ ๊ตฌ์กฐ์ ์ธ ๋ฌธ์ ์ ์ด ์๋์ง ํ์ธํ๋ค. ๊ฐ ํ ํฐ์ ํ ์ด๋ธ ์ด๋ฆ์ด๋ ์นผ๋ผ ์ด๋ฆ ๋๋ ๋ด์ฅ ํจ์์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋งคํํด ํด๋น ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ์ ๊ฐ์ฒด์ ์ ๊ทผ ๊ถํ ๋ฑ์ ํ์ธํ๋ ๊ณผ์ ์ ์ด ๋จ๊ณ์์ ์ํํ๋ค. ์กด์ฌํ์ง ์๊ฑฐ๋ ๊ถํ ์ ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด์ ํ ํฐ์ ๊ฑธ๋ฌ์ง๊ฒ ๋ฉ๋๋ค.
Optimizer(์ตํฐ๋ง์ด์ ) - ์ฑ๋ฅ ์ต์ ํ์ ๊ด๊ณ๊ฐ ์๋ค. ๊ท์น ๊ธฐ๋ฐ ์ต์ ํ๋ ์ตํฐ๋ง์ด์ ์ ๋ด์ฅ๋ ์ฐ์ ์์์ ๋ฐ๋ผ ์คํ ๊ณํ์ ์๋ฆฝํ๋ ๋ฐฉ์์ด๊ณ ๋น์ฉ ๊ธฐ๋ฐ ์ต์ ํ๋ ์์ ์ ๋น์ฉ๊ณผ ๋์ ํ ์ด๋ธ์ ํต๊ณ ์ ๋ณด๋ฅผ ํ์ฉํด์ ์คํ ๊ณํ ์๋ฆฝํ๋ ๋ฐฉ์์ด๋ค.
Execution engine(์คํ ์์ง) - ์ตํฐ๋ง์ด์ ๊ฐ ๋ง๋ ๊ณํ๋๋ก ์คํ ๋ฆฌ์ง ์์ง์ ํธ์ถํด ์ฟผ๋ฆฌ๋ฅผ ์ํํ๋ ์ญํ ์ด๋ค.
Handler API(ํธ๋ค๋ฌ API) - ์ฟผ๋ฆฌ ์คํ๊ธฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฑฐ๋ ์ฝ๊ธฐ ์ํด ์คํ ๋ฆฌ์ง ์์ง๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ญํ ์ ํ๋ API์ด๋ค. ์ ์ฅ ์์ง๊ณผ์ ์ํธ ์์ฉ์ ๋์์ ์๋ฒ๊ฐ ๋ค์ํ ์ ์ฅ ์์ง์ ์ง์ํ ์ ์๋๋ก ํ๋ค.
Storage Engine(์ ์ฅ ์์ง) - ์คํ ์์ง์ ์์ฒญ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ๋ก ์ ์ฅํ๊ณ ๋์คํฌ๋ก๋ถํฐ ์ฝ์ด์ค๋ ์ญํ ์ ๋ด๋นํ๋ค. ๋ํ์ ์ผ๋ก InnoDB, MYISAM ์คํ ๋ฆฌ์ง ์์ง์ด ์๋ค. ํ๋ฌ๊ทธ์ธ ํํ๋ก ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์๋ ์ํ๋ ์คํ ๋ฆฌ์ง ์์ง์ ๊ณจ๋ผ์ ์ฌ์ฉํ ์ ์๋ค. ํธ๋ค๋ฌ API์ ์ํด ๋์ํ๋ฉฐ ํธ๋ค๋ฌ๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
DML(Data Manipulation Language)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ธ์ด์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ญ์ ๋ฑ์ ์์ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๋ํ DML์ ์กฐ์ํ๋ ค๋ ํ ์ด๋ธ(Target)์ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ ์์ ์ฌ๋ ค๋๊ณ ๋ณ๊ฒฝ์ ์ํํ๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์์ด ๋์ง ์๋๋ค. Commit ๋ช ๋ น์ด๋ฅผ ํตํด Transaction์ ์ข ๋ฃํด์ผ ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ด ํ ์ด๋ธ์ ๋ฐ์๋๋ค.
๊ทธ๋ฌ๋ SQL Server์ ๊ฒฝ์ฐ๋ DML ๊ฒฝ์ฐ๋ Auto Commit์ผ๋ก ์ฒ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ์ค์ ํ ์ด๋ธ์ ๋ฐ์ํ๊ธฐ ์ํด Commit ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ ํ์๊ฐ ์๋ค.
DISTINCT
๋ ์ค๋ณต๋ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ 1๊ฑด๋ง ์ถ๋ ฅํ๊ณ ์ต์
All
์ ๊ธฐ๋ณธ ์ต์
์ด๋ฉฐ ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ์ถ๋ ฅํ๋ค.ํ ์ด๋ธ ์ ์ฒด๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ,
DELETE TABLE
๋ณด๋ค ์์คํ ๋ถํ๊ฐ ์ ์TRUNCATE TABLE
์ ๊ถ์ฅํ๋ค. ๋จ,TRUNCATE TABLE
์ ๊ฒฝ์ฐ๋ ์ญ์ ๋ ๋ฐ์ดํฐ์ ๋ก๊ทธ๊ฐ ์์ดROLLBACK
์ด ๋ถ๊ฐํ๋ค.
ํ์ง๋ง SQL Server์์TRUNCATE TABLE
์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฌ์ฉ์๊ฐ ์์์ ์ผ๋ก ํธ๋์ญ์ ์ ์์ํ ํ ๋ณต๊ตฌ๋ฅผ ์ํ๋ค๋ฉดROLLBACK
๋ฌธ์ ์ด์ฉํด ํ ์ด๋ธ์ ์ ์ํ๋ก ๋๋๋ฆด ์ ์๋ค.
DDL(Data Definition Language)
ํ ์ด๋ธ๊ณผ ์ปฌ๋ผ์ ์ ์ํ๋ ๋ช ๋ น์ด๋ก ์์ฑ, ์์ , ์ญ์ ๋ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ๋๋ ์คํค๋ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ๋ด๋นํ๋ค.
DDL์ ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ ์๊ฐ ์์ ์ด ์ฆ์ ๋ฐ์(Auto Commit)๋๋ฏ๋ก ์ฌ์ฉํ ๋ ์ฃผ์๊ฐ ํ์ํ๋ค.
DCL(Data Control Language)
DCL์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ์ฌ ์ฝ๊ฑฐ๋ ์ฐ๋ ๊ฒ์ ์ ํํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ๋ฐํํ ์ ์๋ค.
๋ถ๋ฒ์ ์ธ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๋ณด์์ ์ญํ ์ ์ํํ๋ค.
์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ์ฆ์ ์๋ฃ(AUTO COMMIT)๋๋ ๊ฒ์ ์ ์ํด์ผ ํ๋ค.
CASCADE๋ ์ธ๋ ํค ์ ์ฝ์กฐ๊ฑด๊ณผ ๊ด๋ จํด ์ฌ์ฉ๋๋ ์ต์ ์ด๋ค. CASECADE ์ต์ ์ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด๊ณผ ๊ด๋ จ๋ ํ ์ด๋ธ ๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ฐ ์ญ์ ๋์์ ์ํฅ์ ๋ฏธ์น๋ ๋ฐฉ๋ฒ์ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉ๋๋ค.
CASCADE UPDATE
ํ
์ด๋ธ์์ ์ธ๋ ํค ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค๋ฉด ์ฐธ์กฐํ๋ ๋ค๋ฅธ ํ
์ด๋ธ์ ํด๋น ์ธ๋ ํค ๊ฐ๋ค๋ ํจ๊ป ๋ณ๊ฒฝ๋๋ค.
CASCADE DELETE
ํ
์ด๋ธ์ ๋ ์ฝ๋๊ฐ ์ญ์ ๋๋ฉด ํด๋น ๋ ์ฝ๋๋ฅผ ์ธ๋ํค๋ก ์ฐธ์กฐํ๊ณ ์๋ ๋ค๋ฅธ ํ
์ด๋ธ์ ๋ ์ฝ๋๋ ํจ๊ป ์ญ์ ๋๋ค. ์ธ๋ ํค๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ ์ฝ๋๊ฐ ์ญ์ ๋๋ฉด ํด๋น ๋ ์ฝ๋๋ฅผ ์ฐธ์กฐํ๋ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์๋ ์ญ์ ๋๋ค.
๋ทฐ๋ ํ๋ ๋๋ ๊ทธ ์ด์์ ํ ์ด๋ธ์ ์กฐ์ธํด ๋ง๋ ์๋ก์ด ๊ฐ์ ํ ์ด๋ธ์ด๋ค. ์ค์ ๋ก ํ ์ด๋ธ์ ์์ฑํ ๊ฒ์ด ์๋๋ผ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ์ง ์๋๋ค. ํน์ ์ ๋ณด๋ง ์ ๊ณตํ๊ณ ์ถ์ ๊ฒฝ์ฐ(์ ๊ทผ ์ ์ด)๋ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ์ ํ ์ด๋ธ๋ก ๋ง๋ค์ด ๊ฐํธํ๊ฒ ํ์ฉํ ์ ์๋ค(๊ด๋ฆฌ ์ฉ์ด).
FROM ์
์ฟผ๋ฆฌ์ ์ฒซ๋ฒ์งธ ์คํ ์์๋ FROM์ ์ด๋ค. FROM ์ ์์ ์กฐํํ ํ
์ด๋ธ์ ์ง์ ํ๊ณ Join์ ์คํํ์ฌ ํ๋์ ๊ฐ์ ํ
์ด๋ธ๋ก ๊ฒฐํฉํ๋ค.
WHERE ์
ํ
์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง๋ ๋ ์ฝ๋(ํ)๋ฅผ ํํฐ๋งํ๋ค.
GROUP BY ์
์ ํํ ์นผ๋ผ์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ๋ค.
HAVING ์
๊ทธ๋ฃนํ ํ์ ๊ฐ ๊ทธ๋ฃน์ ์ฌ์ฉ๋๋ ์กฐ๊ฑด์ ์ด๋ค.
HAVING ์ ์ ์กฐ๊ฑด์ WHERE์ ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด WHERE์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค. HAVING ์ ์ ๊ฐ ๊ทธ๋ฃน์ ์กฐ๊ฑด์ ๊ฑธ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค.
SELECT ์
์ฌ๋ฌ ์กฐ๊ฑด์ ์ฒ๋ฆฌํ ํ ์ด๋ค ์ปฌ๋ผ์ ์ถ๋ ฅํ ์ง ์ ํํ๋ค.
ORDER BY ์
select ๋ฌธ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ ฌํ๋ ๊ฒ์ด๋ค.
LIMIT ์
์กฐํ๋ ๊ฒฐ๊ณผ์ ๊ฐ์๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค.
SELECT ~ FOR UPDATE ๊ตฌ๋ฌธ์ ๋์์ฑ ์ ์ด๋ฅผ ์ํด ํน์ ๋ฐ์ดํฐ์ ๋ํด LOCK์ ๊ฑฐ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ด๋ฅผ ํตํด์ ์ ํํ ํ์ด ๋ค๋ฅธ ํธ๋์ญ์ ์์ ๋์์ ์์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๋ค.
ํด๋น ํ์ ๋ฝ์ ๊ฑธ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํธ๋์ญ์ ๋ค์ด ํด๋น ํ์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋์ ๋ฝ์ด ์ค๋ ์ง์๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํ๋ค.
ํด๋น ํธ๋์ญ์ ๋ด์์๋ง ์ ์ฉ๋๋ฉฐ ํด๋น ํธ๋์ญ์ ์ด ์ปค๋ฐ๋๊ฑฐ๋ ๋กค๋ฐฑ๋๋ฉด ๋ฝ์ด ํด์ ๋๋ค.
GROUP BY
๋ฐ์ดํฐ๋ฅผ ๊ทธ๋ฃนํ ํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ ์ด์ ๊ฐ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ฃนํํ์ฌ ์ง๊ณ ๋๋ ํต๊ณ ์์
์ ์ํํ๋๋ฐ ์ฐ์ธ๋ค.
ORDER BY
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์๋ ๊ฒฐ๊ณผ(selelct)๋ฅผ ํน์ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋๋ฐ ์ฌ์ฉ๋๋ค.
INNER JOIN
๊ณตํต์ ์ธ ๋ถ๋ถ๋ง SELECTํ๊ณ 2๊ฐ์ ํ
์ด๋ธ์ ์ปฌ๋ผ๊ฐ์ ๊ฒฐํฉํด ์๋ก์ด ๊ฒฐ๊ณผ ํ
์ด๋ธ์ ์์ฑ
OUTER JOIN
๋ ํ
์ด๋ธ์ด ๊ฐ์ง๊ณ ์๋ ์ ์ฒด ๋ถ๋ถ์ SELECT ํ ๊ฒ. ์กฐ์ธ ๋์ ํ
์ด๋ธ์์ ํน์ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ํ์ํ ์ํฉ์์ ์ฌ์ฉํ๋ค.
LEFT OUTER JOIN
LEFT OUTER JOIN์ ๊ณตํต์ ์ธ ๋ถ๋ถ๊ณผ LEFT ํ
์ด๋ธ์ ์๋ ๋ฐ์ดํฐ๋ฅผ SELECTํ๋ ๊ฒ์ด๋ค.
RIGHT OUTER JOIN
๋ง์ฐฌ๊ฐ์ง๋ก RIGHT OUTER JOIN์ ๊ณตํต์ ์ธ ๋ถ๋ถ๊ณผ RIGHT ํ
์ด๋ธ์ ์๋ ๋ฐ์ดํฐ๋ง SELECT ํ๋ ๊ฒ์ด๋ค.
CROSS JOIN
๋ ๊ฐ ์ด์์ ํ
์ด๋ธ ๊ฐ์ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๊ทธ๋์ ์งํฉ์ด ๋งค์ฐ ์ปค์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ์ฃผ์ํด์ผ ํ๋ค.
SQL์์ ์ฌ์ฉ๋๋ ์ฟผ๋ฆฌ ์์ ํฌํจ๋ ๋ ๋ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ๋ปํ๋ค. ์๋ธ ์ฟผ๋ฆฌ๋ ๋ค๋ฅธ ์ฟผ๋ฆฌ์ ์กฐ๊ฑด์ด๋ ์ฐ์ฐ์ ์ฌ์ฉ๋๋ฉฐ ๋ณต์กํ ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ค.
์๋ธ์ฟผ๋ฆฌ๋ ์์น์ ๋ฐ๋ผ SELECT์ , WHERE์ , FROM์ 3๊ฐ์ง๋ก ๋๋๋ค.
SELECT์
select ์ ์ ์ฌ์ฉ๋๋ ์๋ธ ์ฟผ๋ฆฌ๋ ํ๋์ ์ด์ฒ๋ผ ์ฌ์ฉ๋๋ค. ํ์ง๋ง ๋ฐ์ดํฐ์ ์์ด ๋ง์์ง์๋ก ์คํ์๋๊ฐ ๋๋ ค์ง๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ฉ๋์ง ์๋๋ค.
WHERE์
์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ ์ ์๋ค.
FROM์
์๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํด ํ๋์ ํ
์ด๋ธ์ฒ๋ผ ์ฌ์ฉ๋๋ค.
DROP์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ฅผ ์์ ํ ์ญ์ ํด ๋ฐ์ดํฐ์ ์ ์๊ฐ ๋ชจ๋ ์ฌ๋ผ์ง๋ค. ์ญ์ ๋ ๋ฐ์ดํฐ๋ ๋๋๋ฆด ์ ์๋ค.
TRUNCATE๋ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ ์ ์ง๋๋ค. ์ญ์ ๋ ๋ฐ์ดํฐ๋ ๋๋๋ฆด ์ ์์ผ๋ฉฐ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ๋ ์ ์ฉํ๋ค.
DELETE๋ ํ ์ด๋ธ์์ ์กฐ๊ฑด์ ๋ง๋ ํ๋ง ์ญ์ ํ๋ ๊ฒ์ด๋ค. ์ญ์ ๋ ๋ฐ์ดํฐ๋ ํธ๋์ญ์ ์์ ๋๋๋ฆด ์ ์๋ค.
DISTINCT๋ฅผ ์ฌ์ฉํด์ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์์ ์ค๋ณต๋ ๊ฐ์ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง ํ์ด ํ๋๋ง ๊ฒฐ๊ณผ์ ๋ํ๋ ์ ์์ต๋๋ค.
์ค๋ณต์ ์ ๊ฑฐํ๋ ๊ณผ์ ์์ ์ฟผ๋ฆฌ์ ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๊ฐ ํฌ๋ค๋ฉด ์ฑ๋ฅ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ์์์ SQL๋ฌธ์ ์ฃผ์ ํ๊ณ ์คํ๋๊ฒ ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋น์ ์์ ์ธ ๋์์ ํ๋๋ก ์กฐ์ํ๋ ํ์์ด๋ค.
์๋ฐฉ ๋ฐฉ๋ฒ
์ค๋น๋ ๋ฌธ์ฅ(Prepared Statements)์ฌ์ฉ: ์ค๋น๋ ๋ฌธ์ฅ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ฌ์ฉ์์ ์ ๋ ฅ ๊ฐ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ผ๋ฏธํฐ๋ก ๋ค์ด๊ฐ๊ธฐ ์ ์ DBMS๊ฐ ๋ฏธ๋ฆฌ ์ปดํ์ผํ์ฌ ์คํํ์ง ์๊ณ ๋๊ธฐํฉ๋๋ค. ์ด๋ฅผ ํตํด์ ๋จ์ ๋ฌธ์์ด์ ์ธ์ํด ๊ณต๊ฒฉ์์ ์๋๋๋ก ์๋ํ์ง ์๋๋ค.
์ ๋ ฅ๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ: ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ ์ ๋ ฅ๊ฐ์ ๊ฒ์ฌํ์ฌ ์์ํ์ง ๋ชปํ ๋ฌธ์๋ SQL ๊ตฌ๋ฌธ์ ์ ๊ฑฐํ๊ฑฐ๋ ์ฒ๋ฆฌํ๋ค.
์๋ฌ ๋ฉ์์ง ๋ ธ์ถ ๊ธ์ง: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฌ ๋ฐ์ ์ ๋ฐ๋ก ์ฒ๋ฆฌํด ์ฃผ์ง ์์๋ค๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ ์ฟผ๋ฆฌ๋ฌธ๊ณผ ํจ๊ป ์๋ฌ์ ๊ดํ ๋ด์ฉ์ ๋ฐํํด์ค๋ค. ์ฌ๊ธฐ์ ํ ์ด๋ธ๋ช ๋ฐ ์ปฌ๋ผ๋ช ๊ทธ๋ฆฌ๊ณ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ ธ์ถ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ ๋ฐ์ ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ฃผ๋ ํ์ด์ง๋ฅผ ๊ตฌํํด์ผ ํ๋ค.
๊ธ ์ฌ๋ฏธ์๊ฒ ๋ดค์ต๋๋ค.