๐ก SQLD ์๊ฒฉ์ฆ ์ํ ๋๋น ํ์ตํ ๋ด์ฉ์ ์์ฝ์ ๋ฆฌํฉ๋๋ค.
ํ์์ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ํํ๋ก ์ ์ฅํด ๋์ ๊ฒ.
ํจ์จ์ ์ธ ๋ฐ์ดํฐ์ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์์ ์ต์ํ, ๋ฐ์ดํฐ ๋ณต๊ตฌ ๋ฑ์ ๊ธฐ๋ฅ์ ํ๋ ์ํํธ์จ์ด -> ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ
์ ๊ทํ๋ฅผ ํตํ ํฉ๋ฆฌ์ ์ธ ํ
์ด๋ธ ๋ชจ๋ธ๋ง์ ํตํด ์ด์ ํ์์ ์ ๊ฑฐํ๊ณ ๋ฐ์ดํฐ์ค๋ณต์ ์ต์ํํ๊ณ , ๋์์ฑ ๊ด๋ฆฌ, ๋ณํ ์ ์ด๋ฅผ ํตํด ๋ง์ ์ฌ์ฉ์๋ค์ด ๋์์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ๋ฐ ์กฐ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณต.
๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ด๊ด ๊ด๋ฆฌํ์ฌ ๋ฐ์ดํฐ์ ์ฑ๊ฒฉ, ์์ฑ, ํํ ๋ฐฉ๋ฒ๋ฑ์ ์ฒด๊ณํํ๊ณ ๋ฐ์ดํฐ ํ์คํ๋ฅผ ํตํ ๋ฐ์ดํฐ ํ์ง์ ํ๋ณดํ๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ์ ์, ์กฐ์, ์ ์ด๋ฅผ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฐ์ฒด, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ณธ ๋จ์.
๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ปฌ๋ผ๊ณผ ๋ก์ฐ์ 2์ฐจ์ ๊ตฌ์กฐ๋ก ๋ํ๋ธ๋ค.
์ปฌ๋ผ : ์ธ๋ก๋ฐฉํฅ, ์ด
๋ก์ฐ : ๊ฐ๋ก๋ฐฉํฅ ,ํ
ํ๋ : ์ปฌ๋ผ๊ณผ ๋ก์ฐ๊ฐ ๊ฒน์น๋ ํ๋์ ๊ณต๊ฐ
์ ๊ทํ : ํ ์ด๋ธ์ ๋ถํ ํ์ฌ ๋ฐ์ดํฐ์ ๋ถํ์ํ ์ค๋ณต์ ์ค์ด๋ ํ๋ก์ธ์ค. ๋ฐ์ดํฐ์ ์ ํฉ์ฑ ํ๋ณด์ ๋ฐ์ดํฐ ์ ๋ ฅ/์์ /์ญ์ ์ ๋ฐ์ํ ์ ์๋ ์ด์ํ์์ ๋ฐฉ์งํ๋ค.
๊ธฐ๋ณธํค(PK) : ํ ์ด๋ธ์ ์กด์ฌํ๋ ๊ฐ ํ์ ํ ๊ฐ์ง ์๋ฏธ๋ก ํน์ ํ ์ ์๋ ํ ๊ฐ ์ด์์ ์ปฌ๋ผ
์ธ๋ถํค(FK) : ๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ก ์ฌ์ฉ๋๊ณ ์๋ ๊ด๊ณ๋ฅผ ์ฐ๊ฒฐํ๋ ์ปฌ๋ผ
๐ก VARCHAR, NUMERIC ์ ํ์์ ์ ์ํ ๊ธธ์ด, ์๋ฆฟ์์ ์๋ฏธ๋ ํด๋น ๋ฐ์ดํฐ ์ ํ์ด ๊ฐ์ง ์ ์๋ ์ต๋ํ์ ํ๊ณ๊ฐ์ ์ ์ํ ๊ฒ
CREATE TABLE ํ
์ด๋ธ ์ด๋ฆ(์ปฌ๋ผ ๋ฐ์ดํฐ์ ํ ์ ์ฝ์กฐ๊ฑด);
๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด ํน์ ์ปฌ๋ผ์ ์ค์ ํ๋ ์ ์ฝ.
์ค๋ผํด : DESC ํ
์ด๋ธ๋ช
;
SQL Server : sp_help โdbo.ํ
์ด๋ธ๋ช
โ
ALTER TABLE ํ
์ด๋ธ๋ช
ADD ์ถ๊ฐํ ์ปฌ๋ผ๋ช
๋ฐ์ดํฐ์ ํ;
ALTER TABLE ํ
์ด๋ธ๋ช
DROP COLUMN ์ญ์ ํ ์ปฌ๋ผ๋ช
;
ALTER TABLE ํ
์ด๋ธ๋ช
MODIFY(์ปฌ๋ผ๋ช
, ๋ณ๊ฒฝ๋ด์ฉ);
ALTER TABLE ํ
์ด๋ธ๋ช
ALTER(์ดํ๋๋ฌธ);
์ค๋ผํด : ALTER TABLE ํ
์ด๋ธ๋ช
RENAME COLUMN ๊ธฐ์กด ์ปฌ๋ผ๋ช
TO ์ ์ปฌ๋ผ๋ช
;
SQL Server : sp_rename ๊ธฐ์กด ์ปฌ๋ผ๋ช
, ์ ์ปฌ๋ผ๋ช
, โCOLUMNโ;
์ญ์ : ALTER TABLE ํ
์ด๋ธ๋ช
DROP CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
;
์ถ๊ฐ : ALTER TABLE ํ
์ด๋ธ๋ช
ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด (์ปฌ๋ผ๋ช
);
์ค๋ผํด : RENAME ๊ธฐ์กด ํ
์ด๋ธ๋ช
TO ์ ํ
์ด๋ธ๋ช
;
SQL Server : sp_rename ๊ธฐ์กด ํ
์ด๋ธ ๋ช
, ์ ํ
์ด๋ธ๋ช
;
ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ ๋ฐ ๊ตฌ์กฐ๊ฐ ์ญ์ ๋๋ค. CASCADE CONSTRAINT ์ต์ ์ ํด๋น ํ ์ด๋ธ๊ณผ ๊ด๊ณ๊ฐ ์์๋ ์ฐธ์กฐ๋๋ ์ ์ฝ์กฐ๊ฑด์ ๋ํด์๋ ์ญ์ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
DROP TABLE ํ
์ด๋ธ๋ช
[CASCADE CONSTRAINT];
ํ ์ด๋ธ ์์ฒด๊ฐ ์ญ์ ๋๋ ๊ฒ์ด ์๋ ํ ์ด๋ธ ๋ด์ ๋ชจ๋ ROW๋ฅผ ์ ๊ฑฐํ๊ณ ์ ์ฅ ๊ณต๊ฐ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋๋ก ํ๋ค.
TRUNCATE TABLE ํ
์ด๋ธ๋ช
;
ํ ์ด๋ธ์ ๊ด๋ฆฌํ๊ธฐ๋ฅผ ์ํ๋ ์๋ฃ๋ค์ ์ ๋ ฅ, ์์ , ์ญ์ , ์กฐํํ๋ ์ธ์ด
๐ก DML์ ๊ฒฝ์ฐ ๋ฐ๋์ COMMIT์ ํด์ผ ์์ ๋ด์ญ์ด ๋ฐ์๋จ.
DDL, SQL Server๋ AUTO COMMIT์ด ๋๋ค.
INSERT INTO ํ
์ด๋ธ๋ช
(๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ ์ปฌ๋ผ LIST, ์ ์ฒด๋ ์๋ต ๊ฐ๋ฅ) VALUES (์ปฌ๋ผ์ ์
๋ ฅํ ๋ฐ์ดํฐ ๊ฐ LIST);
UPDATE ํ
์ด๋ธ๋ช
SET ์์ ํด์ผ ํ ์ปฌ๋ผ๋ช
= ์์ ํ ๊ฐ;
DELETE FROM ํ
์ด๋ธ ๋ช
;
ํด๋น ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ์ญ์ ํ๋ค.
์ ์ฒด ์กฐํํ ๋๋ ALL ํค์๋๋ฅผ ์ฌ์ฉ(์๋ต๊ฐ๋ฅ)
SELECT (ALL) ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ ๋ช
;
SELECT DISTINCT ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
;
SELECT ์ปฌ๋ผ๋ช
AS ๋ณ๋ช
FROM ํ
์ด๋ธ๋ช
;
NUMBER, DATE ์๋ฃํ์ ๋ํด ์ ์ฉ, ์ํ์์์ ์ฌ์น์ฐ์ฐ๊ณผ ๋์ผ
SELECT ์ปฌ๋ผ๋ช
+ ์ปฌ๋ผ๋ช
FROM ํ
์ด๋ธ๋ช
;
๋ฌธ์์ ๋ฌธ์๋ฅผ ์ฐ๊ฒฐํ๋ ์ญํ ์ ํ๋ค.
์ค๋ผํด : ||, SQL Server : + ์ ์ฌ์ฉ.
๋ฐ์ ํ ๊ด๋ จ๋์ด ๋ถ๋ฆฌ๋ ์ ์๋ ํ ๊ฐ ์ด์์ DB ์กฐ์.
ํ๋์ ํธ๋์ญ์
์๋ ํ๋ ์ด์์ SQL ๋ฌธ์ฅ์ด ํฌํจ๋๋ค.
ํธ๋์ญ์ ์ด ์ํํ๋ ๋์ ํน์ ๋ฐ์ดํฐ์ ๋ํด์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋์์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์ ํํ๋ ๊ธฐ๋ฒ์ผ๋ก, ์ ๊ธ์ด ๊ฑธ๋ฆฐ ๋ฐ์ดํฐ๋ ์ ๊ธ์ ์ํํ ํธ๋์ญ์ ๋ง์ด ํด์ ํ ์ ์๋ค.