๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/๐Ÿงฌ DB

DML๊ณผ DDL

DML๊ณผ DDL์€ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค. DML์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œํ•˜๊ณ  DDL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

DML(Data Manipulation Language)


๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

์ข…๋ฅ˜

  • SELECT : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰
  • INSERT : ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฝ์ž…
  • UPDATE : ๋ฐ์ดํ„ฐ ์ˆ˜์ •
  • DELETE : ๋ฐ์ดํ„ฐ ์‚ญ์ œ

์‹คํ–‰ ์ˆœ์„œ

  1. FROM, JOIN
  2. ON, WHERE → 2์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ
  3. GROUP BY
  4. AGGREGATE → 3์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ
  5. HAVING → 4์ฐจ ํ…Œ์ด๋ธ” ์ƒ์„ฑ(HAVING ์ž‘์—…์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋งŒ)
  6. ORDER BY
  7. LIMIT

DDL(Date Definition Language)


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๊ณ  ์กฐ์ž‘ํ•˜๋Š” ๋ฐ์— ์‚ฌ์šฉ

์ข…๋ฅ˜

  • CREATE : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด ์ƒ์„ฑ
  • ALTER : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด ์ˆ˜์ •
  • DROP : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด ์‚ญ์ œ
  • TRUNCATE : ๋ฐ์ดํ„ฐ ์‚ญ์ œ, ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€

๋น„๊ต


CHAR vs VARCHAR

  ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ €์žฅ ๊ณต๊ฐ„  ๊ฒ€์ƒ‰ ์†๋„ ์šฉ๋Ÿ‰ ์ฐจ์ง€
CHAR ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด ์ง€์ •๋œ ๊ธธ์ด๋ณด๋‹ค ์งง์•„๋„ ์ง€์ •๋œ ๊ธธ์ด๋งŒํผ ๊ณต๊ฐ„ ์‚ฌ์šฉ (๋‚˜๋จธ์ง€ ๊ณต๊ฐ„์€ ๊ณต๋ฐฑ์œผ๋กœ ์ฑ„์›Œ์ง„๋‹ค.) ๋น ๋ฆ„ ์‹ค์ œ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์–‘์— ์ƒ๊ด€์—†์ด ์ €์žฅ ์šฉ๋Ÿ‰ ์†Œ๋ชจ
VARCHAR ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž์—ด ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ ๊ธธ์ด์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ์กฐ์ ˆ ๋А๋ฆผ ์‹ค์ œ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์–‘์— ์ €์žฅ ์šฉ๋Ÿ‰ ์ ˆ์•ฝ

 

DELETE vs TRUNCATE

  ๊ธฐ๋Šฅ ์†๋„ ๋กœ๊ทธ ๋ณต๊ตฌ
DELETE - ํ…Œ์ด๋ธ”์—์„œ ํ–‰(row) ‘ํ•˜๋‚˜์”ฉ’ ์‚ญ์ œ
- ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ
๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ๋กœ๊ทธ ํŒŒ์ผ์— ๊ฐ๊ฐ์˜ ์‚ญ์ œ ์ด๋ ฅ์ด ๊ธฐ๋ก๋œ๋‹ค. ๋กค๋ฐฑ(rollback)์„ ํ†ตํ•ด ์ด์ „ ์ƒํƒœ๋กœ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
TRUNCATE - ํ…Œ์ด๋ธ”์˜ ‘๋ชจ๋“ ’ ํ–‰(row) ์‚ญ์ œ
- ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ๊ทธ๋Œ€๋กœ ์œ ์ง€
- ๋ฐ์ดํ„ฐ์™€ ์ธ๋ฑ์Šค ๋ฐ์ดํ„ฐ๋„ ์‚ญ์ œ
๋น ๋ฆ„ ์‚ญ์ œ ์ด๋ ฅ์ด ๊ธฐ๋ก๋˜์ง€ ์•Š๋Š”๋‹ค. ๋กค๋ฐฑ์„ ํ†ตํ•œ ์ด์ „ ์ƒํƒœ๋กœ ๋ณต๊ตฌ ๋ถˆ๊ฐ€๋Šฅ
  • TRUNCATE ๋ฅผ ํ•œ ํ›„ INSERT ๋ฅผ ํ•˜๋ฉด id(AUTO_INCREMENT)์— 1๋ฒˆ์ด ์‚ฝ์ž…๋œ๋‹ค.