MariaDB์์ ๋ ์ฝ๋๋ฅผ ์กฐ์ํ๋ ๊ธฐ์ด์ ์ธ SQL ์ฟผ๋ฆฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ ์ฝ๋์ ์ฝ์ , ์ญ์ , ์์ , ์กฐํ ๊ธฐ๋ฅ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
โฃ ๋ชฉ์ฐจ
๋ ์ฝ๋ ์ฝ์ (INSERT)๐
๋ ์ฝ๋๋ฅผ ์ฝ์ ํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์๋ก์ด ์ ๋ณด๋ฅผ ์ถ๊ฐํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ์ํด SQL์ INSERT INTO ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
INSERT INTO ๊ตฌ๋ฌธ
INSERT INTO ๊ตฌ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์๋ก์ด ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
INSERT INTO ํ
์ด๋ธ๋ช
(์ด1, ์ด2, ...)
VALUES (๊ฐ1, ๊ฐ2, ...);
- ํ ์ด๋ธ๋ช : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
- (์ด1, ์ด2, ...): ์ฝ์ ํ ์ด(ํ๋)์ ์ง์ ํฉ๋๋ค. ๋ง์ฝ ๋ชจ๋ ์ด์ ๊ฐ์ ์ฝ์ ํ๋ ค๋ฉด ์ด ๋ถ๋ถ์ ์๋ตํ ์ ์์ต๋๋ค.
- VALUES (๊ฐ1, ๊ฐ2, ...): ๊ฐ ์ด์ ๋์ํ๋ ๊ฐ์ ์ง์ ํฉ๋๋ค. ์ด๊ณผ ๊ฐ์ ์์๋๋ก ๋งค์นญ๋์ด์ผ ํฉ๋๋ค.
INSERT INTO ์์
โถ users๋ผ๋ ํ ์ด๋ธ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ฝ์ ํ๋ ค๊ณ ํ๋ค๋ฉด?
INSERT INTO users (name, age, email)
VALUES ('John Doe', 30, 'john@example.com');
์์ ์์์์๋ users ํ ์ด๋ธ์ name, age, email ์ด์ ๊ฐ๊ฐ 'John Doe', 30, 'john@example.com' ๊ฐ์ ์ฝ์ ํฉ๋๋ค.
INSERT INTO ์ฌ์ฉ ์ ์ฃผ์ํ ์
- ์ด์ ์์์ ๊ฐ์ ์์๋ฅผ ์ผ์น์์ผ์ผ ํฉ๋๋ค..
- ๊ฐ์ ํ์์ ํด๋น ์ด์ ๋ฐ์ดํฐ ์ ํ๊ณผ ์ผ์นํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ซ์ ์ด์ ๋ฌธ์์ด ๊ฐ์ ์ฝ์ ํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค..
- ๋ชจ๋ ํ์ ์ด์ ๊ฐ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ํน์ ์ด์ ๋ํ ๊ฐ์ด ์์ผ๋ฉด NULL ๋๋ ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฝ์ ์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ์ ํด๊ฒฐ์ฑ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ฝ์ ์ค๋ฅ ์ค ํ๋๋ ์ค๋ณต๋ ๊ธฐ๋ณธ ํค(primary key) ๊ฐ์ ์ฝ์ ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค๋ฅ๋ฅผ ๋ฐํํฉ๋๋ค. ํด๊ฒฐ์ฑ ์ผ๋ก๋ ๊ธฐ๋ณธ ํค๊ฐ ๊ณ ์ ํ๋๋ก ๊ฐ์ ์ค์ ํ๊ฑฐ๋, ์ฝ์ ์ ์ ๊ธฐ์กด ๋ ์ฝ๋์ ์ถฉ๋ํ๋์ง ํ์ธํ๋ ๋ฑ์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ ์ฝ๋๋ฅผ ์ฝ์ ํ ๋ ๋ฐ์ํ ์ ์๋ ๋ค๋ฅธ ์ ํ์ ์ค๋ฅ๋ ํ ์ด๋ธ์ ์ ์ฝ ์กฐ๊ฑด์ ์๋ฐฐ๋ ๋์ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ํด๋น ์ ์ฝ ์กฐ๊ฑด์ ํ์ธํ๊ณ ์ฝ์ ์์ ์ ์กฐ์ ํด์ผ ํฉ๋๋ค.
๋ ์ฝ๋ ์์ (UPDATE)๐
๋ ์ฝ๋๋ฅผ ์์ ํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ์ ์ฅ๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ์ํด SQL์ UPDATE ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
UPDATE ๊ตฌ๋ฌธ
UPDATE ๊ตฌ๋ฌธ์ ํ ์ด๋ธ์ ํน์ ๋ ์ฝ๋์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
UPDATE ํ
์ด๋ธ๋ช
SET ์ด1 = ๊ฐ1, ์ด2 = ๊ฐ2, ...
WHERE ์กฐ๊ฑด;
- ํ ์ด๋ธ๋ช : ๋ฐ์ดํฐ๋ฅผ ์์ ํ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
- SET ์ด1 = ๊ฐ1, ์ด2 = ๊ฐ2, ...: ์์ ํ ์ด๊ณผ ์๋ก์ด ๊ฐ์ ์ง์ ํฉ๋๋ค.
- WHERE ์กฐ๊ฑด: ์์ ํ ๋ ์ฝ๋๋ฅผ ์ ํํ๋ ์กฐ๊ฑด์ ๋๋ค. ์ด ์กฐ๊ฑด์ ์ง์ ํ์ง ์์ผ๋ฉด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์์ ๋ฉ๋๋ค.
UPDATE ์์
โถ users ํ ์ด๋ธ์์ id๊ฐ 1์ธ ์ฌ์ฉ์์ ๋์ด์ ์ด๋ฉ์ผ์ ์์ ํ๋ ค๊ณ ํ๋ค๋ฉด?
UPDATE users
SET age = 31, email = 'newemail@example.com'
WHERE id = 1;
์์ ์์์์๋ users ํ ์ด๋ธ์์ id๊ฐ 1์ธ ๋ ์ฝ๋์ age๋ฅผ 31๋ก, email์ 'newemail@example.com'์ผ๋ก ์์ ํฉ๋๋ค.
UPDATE ์ฌ์ฉ ์ ์ฃผ์ํ ์
- ์ด์ WHERE์กฐ๊ฑด์ ์ ํํ๊ฒ ์ง์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์์ ๋ ์ ์์ต๋๋ค.
- SET์ ์ ์ฌ๋ฌ ์ด์ ์์ ํ ์ ์์ผ๋ฉฐ, ์ผํ(,)๋ก ๊ตฌ๋ถํฉ๋๋ค.
- WHERE ์กฐ๊ฑด์ด ์์ผ๋ฉด ๊ฒฝ๊ณ ์์ด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํญ์ ์กฐ๊ฑด์ ๋ช ํํ ์ง์ ํด์ผ ํฉ๋๋ค.
์์ ์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ์ ํด๊ฒฐ์ฑ
- ๋ฐ์ดํฐ ํ์ ์ค๋ฅ: ์์ ํ ๊ฐ์ ๋ฐ์ดํฐ ํ์์ด ํด๋น ์ด์ ๋ฐ์ดํฐ ํ์๊ณผ ์ผ์นํ์ง ์๋ ๊ฒฝ์ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ซ์ ํ์์ ์ด์ ๋ฌธ์์ด์ ํ ๋นํ๋ ค๊ณ ํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ฐ์ดํฐ ํ์์ ๋ง์ถ์ด์ผ ํฉ๋๋ค.
- ์ ์ฝ ์กฐ๊ฑด ์๋ฐ: ์ด์ ์ค์ ๋ ์ ์ฝ ์กฐ๊ฑด์ ์๋ฐํ๋ ๊ฐ์ ์์ ํ๋ ค๊ณ ํ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ๋ํฌ ์ ์ฝ ์กฐ๊ฑด์ด ์ค์ ๋ ์ด์ ์ค๋ณต๋ ๊ฐ์ ์ฝ์ ํ๋ ค๊ณ ํ ๋์ ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ์ ํจํ ๊ฐ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
๋ ์ฝ๋๋ฅผ ์์ ํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์ ๋งค์ฐ ์ค์ํ ์์ ์ ๋๋ค. ์ ํํ WHERE ์กฐ๊ฑด๊ณผ ์ฌ๋ฐ๋ฅธ SET ์ ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ ํํ๊ฒ ์์ ํ ์ ์์ต๋๋ค.
๋ ์ฝ๋ ์กฐํ(SELECT)๐
๋ ์ฝ๋๋ฅผ ์กฐํํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์์ ์ํ๋ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ณ ๊ฐ์ ธ์ค๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ์ํด SQL์ SELECT ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
SELECT ๊ตฌ๋ฌธ
SELECT ๊ตฌ๋ฌธ์ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
SELECT ์ด1, ์ด2, ...
FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด
ORDER BY ์ด1 ASC|DESC
LIMIT ์ซ์;
- ์ด1, ์ด2, ...: ์กฐํํ ์ด(ํ๋)์ ์ง์ ํฉ๋๋ค. ๋ชจ๋ ์ด์ ์กฐํํ๋ ค๋ฉด *๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํ ์ด๋ธ๋ช : ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
- WHERE ์กฐ๊ฑด: ์กฐํํ ๋ ์ฝ๋๋ฅผ ์ ํํ๋ ์กฐ๊ฑด์ ๋๋ค. ์กฐ๊ฑด์ ์ง์ ํ์ง ์์ผ๋ฉด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์กฐํ๋ฉ๋๋ค.
- ORDER BY ์ด1 ASC|DESC: ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ํน์ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํฉ๋๋ค. ASC๋ ์ค๋ฆ์ฐจ์, DESC๋ ๋ด๋ฆผ์ฐจ์์ ๋๋ค.
- LIMIT ์ซ์: ์กฐํ๋๋ ๋ ์ฝ๋์ ๊ฐ์๋ฅผ ์ ํํฉ๋๋ค.
SELECT ์์
โถ users ํ ์ด๋ธ์์ ๋ชจ๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์กฐํ
SELECT * FROM users;
์์ ์์์์๋ users ํ
์ด๋ธ์ ๋ชจ๋ ์ด๊ณผ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์กฐํํฉ๋๋ค.
โถ ํน์ ์ด๋ง ์กฐํ
SELECT name, age, email FROM users;
์์ ์์์์๋ users ํ
์ด๋ธ์์ age๊ฐ 30๋ณด๋ค ํฐ ์ฌ์ฉ์๋ค์ name๊ณผ age๋ฅผ ์กฐํํฉ๋๋ค.
โถ ์กฐ๊ฑด๋ถ ์กฐํ
SELECT name, age FROM users WHERE age > 30;
์์ ์์์์๋ users ํ ์ด๋ธ์์ age๊ฐ 30๋ณด๋ค ํฐ ์ฌ์ฉ์๋ค์ name๊ณผ age๋ฅผ ์กฐํํฉ๋๋ค.
์ ๋ ฌ๊ณผ ์ ํ
โถ ์กฐํ ๊ฒฐ๊ณผ๋ฅผ ํน์ ์ด์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
SELECT name, age FROM users ORDER BY age DESC;
์์ ์์์์๋ users ํ ์ด๋ธ์์ name๊ณผ age๋ฅผ ์กฐํํ๊ณ , age๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํฉ๋๋ค.
โถ ์กฐํ ๊ฒฐ๊ณผ์ ๊ฐ์๋ฅผ ์ ํ
SELECT name, age FROM users ORDER BY age DESC LIMIT 5;
์์ ์์์์๋ users ํ ์ด๋ธ์์ name๊ณผ age๋ฅผ ์กฐํํ๊ณ , age๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ํ, ์์ 5๊ฐ์ ๋ ์ฝ๋๋ง ์กฐํํฉ๋๋ค.
AS ํค์๋ ์ฌ์ฉ
AS ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์กฐํ๋ ์ด์ ๋ณ์นญ์ ์ง์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์๋ ์์์์ users ํ ์ด๋ธ์์ name๊ณผ age๋ฅผ ์กฐํํ๊ณ , ๊ฐ๊ฐ ์ด๋ฆ๊ณผ ๋์ด๋ผ๋ ๋ณ์นญ์ ๋ถ์ฌ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ํฉ๋๋ค.
SELECT name AS ์ด๋ฆ, age AS ๋์ด FROM users;
๋ ์ฝ๋๋ฅผ ์กฐํํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด๊ณ ์ค์ํ ์์
์ค ํ๋์
๋๋ค. ๋ค์ํ ์กฐ๊ฑด๊ณผ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ณ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ํ์ฉํ ์ ์์ต๋๋ค.
๋ ์ฝ๋ ์ญ์ (DELETE)๐ค
๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์์ ๋ ์ด์ ํ์ํ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ์ํด SQL์ DELETE FROM ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
DELETE FROM ๊ตฌ๋ฌธ
DELETE FROM ๊ตฌ๋ฌธ์ ํ ์ด๋ธ์ ํน์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
DELETE FROM ํ
์ด๋ธ๋ช
WHERE ์กฐ๊ฑด;
- ํ ์ด๋ธ๋ช : ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋๋ค.
- WHERE ์กฐ๊ฑด: ์ญ์ ํ ๋ ์ฝ๋๋ฅผ ์ ํํ๋ ์กฐ๊ฑด์ ๋๋ค. ์ด ์กฐ๊ฑด์ ์ง์ ํ์ง ์์ผ๋ฉด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ฉ๋๋ค.
DELETE FROM ์์
โถ users ํ ์ด๋ธ์์ id๊ฐ 1์ธ ์ฌ์ฉ์๋ฅผ ์ญ์
DELETE FROM users
WHERE id = 1;
์์ ์์์์๋ users ํ
์ด๋ธ์์ id๊ฐ 1์ธ ๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค.
โถ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ์ฝ๋ ์ญ์
DELETE FROM users
WHERE age > 30;
์์ ์์์์๋ users ํ ์ด๋ธ์์ age๊ฐ 30๋ณด๋ค ํฐ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค.
โถ ์ฌ๋ฌ ์กฐ๊ฑด์ ์ฌ์ฉํ ๋ ์ฝ๋ ์ญ์
DELETE FROM users
WHERE age > 30;
์์ ์์์์๋ users ํ ์ด๋ธ์์ age๊ฐ 30๋ณด๋ค ํฌ๊ณ name์ด 'John Doe'์ธ ๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค.
โถ ๋ชจ๋ ๋ ์ฝ๋ ์ญ์ ํ๋ ค๋ฉด?(์ฃผ์ ํ์)
DELETE FROM users;
์์ ์์์์๋ users ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค. ๋งค์ฐ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
DELETE FROM ์ฌ์ฉ ์ ์ฃผ์ํ ์
- WHERE ์กฐ๊ฑด์ ์ ํํ๊ฒ ์ง์ ํด์ผ ํฉ๋๋ค: ์กฐ๊ฑด์ ์ง์ ํ์ง ์์ผ๋ฉด ํ ์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๊ฐ ์ญ์ ๋ฉ๋๋ค. ํญ์ ์กฐ๊ฑด์ ๋ช ํํ ์ง์ ํ์ฌ ์ํ๋ ๋ ์ฝ๋๋ง ์ญ์ ๋๋๋ก ํด์ผ ํฉ๋๋ค.
- ๋ฐฑ์ : ๋ฐ์ดํฐ ์ญ์ ๋ ๋ณต๊ตฌํ ์ ์์ผ๋ฏ๋ก, ์ญ์ ์ ์ ๋ฐ์ดํฐ ๋ฐฑ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
- ์ ์ฝ ์กฐ๊ฑด: ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด ๋ฑ์ผ๋ก ์ธํด ํน์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด์ ์ดํดํ๊ณ ์ ์ ํ๊ฒ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
์ญ์ ์ ๋ฐ์ํ ์ ์๋ ์ค๋ฅ์ ํด๊ฒฐ์ฑ
- ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด ์๋ฐ: ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ก ์ธํด ์ญ์ ๊ฐ ์ ํ๋ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ ํด๋น ๊ด๊ณ๋ฅผ ์ดํดํ๊ณ ์ญ์ ๋ฅผ ์งํํด์ผ ํฉ๋๋ค. ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ๋ฌด์ํ๊ณ ์ญ์ ํ๋ ค๋ฉด CASCADE ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ฐ์ดํฐ ํ์ ์ค๋ฅ: ์๋ชป๋ ํ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ง์ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ํ์์ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด์ ์ง์ ํด์ผ ํฉ๋๋ค.
๋ ์ฝ๋๋ฅผ ์ญ์ ํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์ ๋งค์ฐ ์ค์ํ ๋ถ๋ถ์ ๋๋ค. ์ ํํ WHERE ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋ถํ์ํ ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ญ์ ํ ์ ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ์งํ ์ ์์ต๋๋ค
ํต์ฌ ๋ด์ฉ๐