UPDATE / DELETE
๋ณดํต ์ ํ๋ฆฌ์ผ์ด์ ์์๋ UPDATE / DELETE ์ฟผ๋ฆฌ๋ ์ฃผ๋ก ํ๋์ ํ ์ด๋ธ์ ๋ํด ํ ๊ฑด(ํน์ ์๋) ๋ ์ฝ๋ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉํ๋ค. ํ์ง๋ง MySQL ์๋ฒ์์๋ ์ฌ๋ฌ ํ ์ด๋ธ์ ์กฐ์ธํด์ ํ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ๋์์ผ๋ก UPDATE / DELETE ์ฟผ๋ฆฌ๋ฅผ ์คํํ ์ ์๋ค.
UPDATE(DELETE) ... ORDER BY ... LIMIT n
WHERE ์กฐ๊ฑด์ ์ ์ผ์นํ๋ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง, ORDER BY + LIMIT ์กฐํฉ์ ์ฌ์ฉํด ์์ n๊ฐ์ ๋ ์ฝ๋๋ง ์ฒ๋ฆฌํ ์ ์๋ค. ๋๋ฌด ๋ง์ ๊ฑด์ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ๋ฉด ํธ๋์ญ์ ์ ๋๋ฌด ์ค๋ ์ ์งํ๊ฒ ๋์ด ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์๊ธฐ ๋๋ฌธ์, LIMIT์ผ๋ก ์กฐ๊ธ์ฉ ๋๋ ์ ์ฒ๋ฆฌํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฌ์ฉํ๋ค.
JOIN UPDATE
๋ ๊ฐ ์ด์์ ํ ์ด๋ธ์ ์กฐ์ธํด์ ์กฐ์ธ๋ ๊ฒฐ๊ณผ ๋ ์ฝ๋๋ฅผ ๋์์ผ๋ก UPDATE / DELETE ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๊ธฐ๋ฅ์ผ๋ก, ์ฃผ๋ก ์๋ ๋ ๊ฐ์ง ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค.
์กฐ์ธ๋ ํ ์ด๋ธ ์ค์์ ํน์ ํ ์ด๋ธ์ ์ปฌ๋ผ ๊ฐ์ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ปฌ๋ผ์ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ
์์ชฝ ํ ์ด๋ธ์ ๊ณตํต์ผ๋ก ์กด์ฌํ๋ ๋ ์ฝ๋๋ง ์ฐพ์์ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ
SELECT ์ฟผ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก JOIN ์์์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์, ์ฑ๋ฅ์ ๊ณ ๋ คํด์ ์ ์ ํ JOIN ์์๋ฅผ ์ ํํด์ผ ํ๋ค. ๋ํ ์ผ๋ฐ์ ์ผ๋ก ์กฐ์ธ๋๋ ๋ชจ๋ ํ ์ด๋ธ์ ๋ํด ์ฝ๊ธฐ ์ฐธ์กฐ๋ง ๋๋ ํ ์ด๋ธ์ ์ฝ๊ธฐ ์ ๊ธ์ด ๊ฑธ๋ฆฌ๊ณ , ์ปฌ๋ผ์ด ๋ณ๊ฒฝ๋๋ ํ ์ด๋ธ์ ์ฐ๊ธฐ ์ ๊ธ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์น ์๋น์ค ํ๊ฒฝ์์ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํ๋ค.
์ฌ๋ฌ ๋ ์ฝ๋ UPDATE
์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ํ๋์ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ ๋์ผํ ๋ ์ฝ๋ ๊ฐ์ผ๋ก๋ง ์ ๋ฐ์ดํธํ ์ ์์์ง๋ง, 8.0 ๋ฒ์ ๋ถํฐ๋ ์๋ก ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์๋ค. ์๋์ ๊ฐ์ด ๋ ์ฝ๋ ์์ฑ(Row Constructor)์ ์ฌ์ฉํ๋ฉด ์ฌ๋ฌ ๋ ์ฝ๋๋ฅผ ํ๋์ ์ฟผ๋ฆฌ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
VALUES ROW(...), ROW(...), ...
๋ฌธ๋ฒ์ ์์ ํ
์ด๋ธ์ ์์ฑํ๋ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋๋ฐ, ์์ฑ๋ ํ
์ด๋ธ์ ์กฐ์ธํ์ฌ ์
๋ฐ์ดํธํ ๋ ์ฝ๋๋ฅผ ์ฐพ์ ์
๋ฐ์ดํธํ๋ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋ค.
JOIN DELETE
๊ธฐ๋ณธ์ ์ผ๋ก JOIN DELETE
๋ฌธ์ฅ์ ์ผ๋ฐ์ ์ธ ๋จ์ผ ํ
์ด๋ธ DELETE ๋ฌธ์ฅ๊ณผ ๋ค๋ฅธ ๋ฌธ๋ฒ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ผ ํ๋ค.
SELECT ์ฟผ๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก JOIN ์์์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์, ์ฑ๋ฅ์ ๊ณ ๋ คํด์ ์ ์ ํ JOIN ์์๋ฅผ ์ ํํด์ผ ํ๋ค.
์ฐธ๊ณ ์๋ฃ
Last updated
Was this helpful?