๐ SQL & Database (06) - UPDATE / DELETE
ํ์ตํ๊ฒฝ : Windows, MariaDB, DBeaver
UPDATE
- UPDATE - SET - WHERE
ํน์ ํ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ถ์ผ๋ฉด UPDATE ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ค
์ฌ์ฉ๋ฐฉ๋ฒ
UPDATEย ย ํ ์ด๋ธ๋ช
SETย ย ์ปฌ๋ผ1 = ๊ฐ, ์ปฌ๋ผ2 = ๊ฐย ย
WHEREย ย ์กฐ๊ฑด์ ย ย
- SET๋ฌธ ์์ IF๋ฌธ์ ๋ฃ์ด ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ๋ค๋ฅด๊ฒ ์์ ํ๋๋ก ๋ง๋ค ์๋ ์๋ค
- SET๋ฌธ ์์ IF๋ฌธ์ ๋ฃ์ด ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฐ์ ๋ค๋ฅด๊ฒ ์์ ํ๋๋ก ๋ง๋ค ์๋ ์๋ค
์ฌ์ฉ๋ฐฉ๋ฒ (JOINํ ํ ์ด๋ธ)
JOINํ ํ ์ด๋ธ์์๋ UPDATE๋ฅผ ์ฌ์ฉํด ์์ ์ด ๊ฐ๋ฅํ๋ค
UPDATEย ย ํ ์ด๋ธ1ย ย INNER JOINย ย ํ ์ด๋ธ2ย ย ONย ย ์กฐ์ธ ์กฐ๊ฑด
SETย ย ์ปฌ๋ผ1 = ๊ฐ, ์ปฌ๋ผ2 = ๊ฐย ย
WHEREย ย ์กฐ๊ฑด์ ย ย
์์
DELETE
- DELETE FROM - WHERE
ํน์ ํ์ ์ ๋ถ ์ง์ฐ๊ณ ์ถ์๋ DELETE ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋ค
์ฌ์ฉ๋ฐฉ๋ฒ
DELETE FROMย ย ํ ์ด๋ธ๋ช
WHEREย ย ์กฐ๊ฑด์ ย ย
์ฌ์ฉ๋ฐฉ๋ฒ (JOINํ ํ ์ด๋ธ)
DELETE๋ ๋ง์ฐฌ๊ฐ์ง๋ก JOINํ ํ ์ด๋ธ์์ ์ญ์ ๊ฐ ๊ฐ๋ฅํ๋ค
DELETEย ย ์ญ์ ํ ํ์ ํ ์ด๋ธ (ex.ํ ์ด๋ธ1)
FROMย ย ํ ์ด๋ธ1ย ย INNER JOINย ย ํ ์ด๋ธ2 ย ย ONย ย ์กฐ์ธ ์กฐ๊ฑด
WHEREย ย ์กฐ๊ฑด์ ย ย
- ํ
์ด๋ธ1๊ณผ ํ
์ด๋ธ2 ์ค ์ด๋ค ํ
์ด๋ธ์ ํ์ ์ง์ธ์ง๋ฅผ DELETE ์์ ์ ์ด์ผ ํ๋ค
DELETE ํ ์ด๋ธ1
์ด๋ฌ๋ฉด ์กฐ๊ฑด์์ ๋ง๋ ํ์ด ํ ์ด๋ธ1์์ ์ญ์ DELETE ํ ์ด๋ธ1, ํ ์ด๋ธ2
์ด๋ฌ๋ฉด ์กฐ๊ฑด์์ ๋ง๋ ํ์ด ํ ์ด๋ธ1, 2์์ ์ ๋ถ ์ญ์
- ํ
์ด๋ธ1๊ณผ ํ
์ด๋ธ2 ์ค ์ด๋ค ํ
์ด๋ธ์ ํ์ ์ง์ธ์ง๋ฅผ DELETE ์์ ์ ์ด์ผ ํ๋ค
์์