๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๊ฐœ๋ฐœ] Practice/SQL Database

[SQL / Database] ๋ฐ์ดํ„ฐ ์ˆ˜์ •/์‚ญ์ œํ•˜๊ธฐ

by Connecting-the-dots 2023. 6. 1.
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ก๋ฐ์ดํ„ฐ ์ˆ˜์ •/์‚ญ์ œํ•˜๊ธฐ

๐Ÿ’œ ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ

๐Ÿค UPDATE SET ๋ฌธ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ

UPDATE ํ…Œ์ด๋ธ”๋ช… SET ์ปฌ๋Ÿผ๋ช…1 = ๊ฐ’, ์ปฌ๋Ÿผ๋ช…2 = ๊ฐ’ WHERE ์กฐ๊ฑด์‹
  • ํŠน์ • ํ–‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด UPDATE SET ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • SET ๋’ค์— ์ปฌ๋Ÿผ๋งˆ๋‹ค ์–ด๋–ค ๊ฐ’์œผ๋กœ ์ˆ˜์ •ํ• ์ง€ '์ปฌ๋Ÿผ๋ช… = ๊ฐ’' ์˜ ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์ฝค๋งˆ(,)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜์—ดํ•œ๋‹ค.
  • ๊ฐ’์„ ์™„์ „ํžˆ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ธฐ์กด์˜ ๊ฐ’์— ์‚ฌ์น™์—ฐ์‚ฐ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.
    (์˜ˆ๋ฅผ ๋“ค์–ด, ์ปฌ๋Ÿผ๋ช…์ด ๊ฐ€๊ฒฉ์ด๊ณ  ๊ธฐ์กด ๊ฐ€๊ฒฉ์— 100์›์„ ๋”ํ•œ ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๊ฐ€๊ฒฉ = ๊ฐ€๊ฒฉ + 100 ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•œ๋‹ค.)
  • WHERE ์กฐ๊ฑด์‹์„ ๋นผ๋ฉด ๋ชจ๋“  ํ–‰์ด ์ˆ˜์ •๋˜์–ด๋ฒ„๋ฆฌ๋ฏ€๋กœ ์ฃผ์˜ํ•  ๊ฒƒ!!

๐Ÿค JOIN ๋ฌธ๋ฒ•๊ณผ UPDATE ๋ฌธ๋ฒ•์„ ์กฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์ˆ˜์ •ํ•˜๊ธฐ

UPDATE A INNER JOIN B ON ์กฐ์ธ์กฐ๊ฑด SET ์ˆ˜์ •ํ• ๋‚ด์šฉ WHERE ์กฐ๊ฑด์‹
  • MySQL ์€ UPDATE ๋’ค์— JOIN ํ•ด๋†“์€ ํ…Œ์ด๋ธ”์„ ์ž…๋ ฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๐Ÿ’œ ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

๐Ÿค DELETE FROM ๋ฌธ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

DELETE FROM ํ…Œ์ด๋ธ”๋ช… WHERE ์กฐ๊ฑด์‹
  • ํŠน์ • ํ–‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์œผ๋ฉด DELETE FROM ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • WHERE ์กฐ๊ฑด์‹์„ ๋นผ๋ฉด ๋ชจ๋“  ํ–‰์ด ์‚ญ์ œ๋˜์–ด๋ฒ„๋ฆฌ๋ฏ€๋กœ ์ฃผ์˜ํ•  ๊ฒƒ!!
  • ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์—์„œ Foreign key ๋กœ ์‚ฌ์šฉ ์ค‘์ธ ํ–‰์€ ์‚ญ์ œ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์‚ญ์ œ ํ›„ ๋ณต๊ตฌ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด, ์‹ค์ œ๋กœ ์‚ญ์ œํ•˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์‚ญ์ œ์™€ ์œ ์‚ฌํ•œ ํšจ๊ณผ๋ฅผ ์œ„ํ•ด ํŠน์ • ์ปฌ๋Ÿผ๋งŒ ๊ฐ’์„ ๋น„์šฐ๋Š” ๋“ฑ์˜ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์กด์žฌํ•œ๋‹ค.

๐Ÿค JOIN ๋ฌธ๋ฒ•๊ณผ DELETE ๋ฌธ๋ฒ•์„ ์กฐํ•ฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

DELETE ํ…Œ์ด๋ธ”๋ช…1 FROM ํ…Œ์ด๋ธ”๋ช…1 INNER JOIN ํ…Œ์ด๋ธ”๋ช…2 ON ์กฐ์ธ์กฐ๊ฑด WHERE ์กฐ๊ฑด์‹
  • JOIN ํ•œ ํ…Œ์ด๋ธ”์—์„œ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด ๋•Œ DELETE ์™€ FROM ์‚ฌ์ด์— ์กฐ์ธํ•œ ํ…Œ์ด๋ธ” ์ค‘ ์–ด๋–ค ํ…Œ์ด๋ธ”์˜ ํ–‰์„ ์ง€์šธ์ง€ ๋ช…์‹œํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
  • ์œ„์™€ ๊ฐ™์ด DELETE ์™€ FROM ์‚ฌ์ด์— ํ…Œ์ด๋ธ”๋ช…1 ์„ ๋„ฃ์œผ๋ฉด, ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•˜๋Š” ํ–‰์ด ํ…Œ์ด๋ธ”๋ช…1์—์„œ ์‚ญ์ œ๋œ๋‹ค.
  • ๋งŒ์•ฝ ์กฐ์ธํ•œ ๋‘ ํ…Œ์ด๋ธ” ๋ชจ๋‘์—์„œ ํ–‰์„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด DELETE FROM ์‚ฌ์ด์— ํ…Œ์ด๋ธ”๋ช…1 ๊ณผ ํ…Œ์ด๋ธ”๋ช…2 ๋ฅผ ์ฝค๋งˆ(,) ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.
728x90
๋ฐ˜์‘ํ˜•