SQL(Structured Query Language)๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์กฐํ, ์์ , ์ญ์ ํ ๋ ์ฌ์ฉํ๋ ์ธ์ด์ด๋ค.
SQL์ ๋ฌธ๋ฒ์ DDL(๋ฐ์ดํฐ ์ ์์ด), DML(๋ฐ์ดํฐ ์กฐ์์ด), DCL(๋ฐ์ดํฐ ์ ์ด์ด) ๋๋ ์ ์๋ค.
DDL(๋ฐ์ดํฐ ์ ์์ด)
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ ์ ์์ ์ฌ์ฉํ๋ ์ธ์ด. ํ ์ด๋ธ์ด๋ ์ปฌ๋ผ๋ฑ์ ์์ฑ, ์์ , ์ญ์ ํ๋ค.
CREATE
์๋ก์ด ํ ์ด๋ธ์ ์์ฑ. ํ ์ด๋ธ์ ๊ตฌ์ฑ, ์์ฑ์ ๊ดํ ์ ์ฝ์ ์ ์ํ๊ณ , ๊ธฐ๋ณธํค ๋ฐ ์ธ๋ํค๋ฅผ ์ ์ํ๋ค.
CREATE TABLE Persons (
PersonID int PRIMAY KEY,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
FOREIGN KEY(City) REFERENCES CityTable(City)
);
ํค์ ์ ์
- PRIMARY KEY : ๊ธฐ๋ณธํค๋ฅผ ์ง์ ํ๋ ํค์๋
- FOREIGN KEY : ์ธ๋ํค๋ฅผ ์ง์ ํ ๋ ์ฌ์ฉ.
- UNIQUE : ๋์ฒดํค๋ฅผ ์ง์ ํ๋ ํค์
ALTER TABLE
์์ฑ๋ ํ ์ด๋ธ์ ์์ฑ๊ณผ ์์ฑ์ ๋ํ ์ ์ฝ์ ๋ณ๊ฒฝ. ๊ธฐ๋ณธ ํค ๋ฐ ์ธ๋ํค๋ฅผ ๋ณ๊ฒฝ
- ADD, DROP์ ์์ฑ์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ๋ ์ฌ์ฉ
- MODIFY๋ ์์ฑ์ ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๊ฑฐ๋ ์ญ์ ํ ๋ ์ฌ์ฉ
- ADD <์ ์ฝ์ด๋ฆ>, DROP <์ ์ฝ์ด๋ฆ>์ ์ ์ฝ์ฌํญ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋ ์ฌ์ฉ
ALTER TABLE ํ
์ด๋ธ์ด๋ฆ
//์ด ์ถ๊ฐ
[ADD ์์ฑ์ด๋ฆ ๋ฐ์ดํฐํ์
[NOT|NOT NULL]]
// ์ด ์ญ์
[DROP COLUMN ์์ฑ์ด๋ฆ]
// ์ด ๋ฐ์ดํฐํ์
๋ณ๊ฒฝ
[ALTER COLUMN ์์ฑ์ด๋ฆ ์๋ก์ด๋ฐ์ดํฐํ์
]
// ์ฃผ ํค ์ถ๊ฐ
[ADD PRIMARY KEY (์์ฑ์ด๋ฆ)]
// ์ ์ฝ ์ถ๊ฐ
[[ADD|DROP] ์ ์ฝ์ด๋ฆ]
DROP TABLE
ํ ์ด๋ธ์ ์ญ์ ํ๋ ๋ช ๋ น
ํ ์ด๋ธ์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ญ์ ํจ.
DROP DATABASE ๋ฐ์ดํฐ๋ฒ ์ด์ค_์ด๋ฆ
DML(๋ฐ์ดํฐ ์กฐ์์ด)
๋ฐ์ดํฐ ์กฐ์์ ์ฌ์ฉํ๋ ์ธ์ด. ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ์กฐํ, ์ ์ฅ, ์์ , ์ญ์ ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋ถ์ ์ค์ ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์ญํ ์ ํ๋ค.
SELECT / FROM
SELECT์๋ ๊ฒ์ํ๊ณ ์ถ์ ์์ฑ์ ์ ๋๋ค.
SELECT๋ฌธ์ ์ฌ์ฉ๋๋ ํค์๋๋ ํํ์ ์ค๋ณต์ ํ์ฉํ๋ "ALL", ํ์ฉํ์ง ์๋ 'DISTINCT'๊ฐ ์๋ค.
FROM์๋ ๊ฒ์ํ๊ณ ์ถ์ ์์ฑ์ด ์๋ ํ ์ด๋ธ์ ์ด๋ฆ์ ๋์ดํ๋ค.
๊ฒ์ ๊ฒฐ๊ณผ๋ ํ ์ด๋ธ๋ก ๋ฐํ๋๋ค.
SELECT [ALL|DISTINCT] ์์ฑ1, ์์ฑ2, ...
[FROM ํ
์ด๋ธ์ด๋ฆ]
[WHERE ์กฐ๊ฑด]
[GROUP BY ์์ฑ ์ด๋ฆ]
[HAVING ๊ฒ์์กฐ๊ฑด]
[ORDER BY ์์ฑ [ASC|DESC]]
์ฟผ๋ฆฌ๋ from -> where -> group by -> having -> select -> order by ์์๋ก ์คํ๋๋ค.
INSERT
INSERT ๋ช ๋ น์ด๋ก ํ ์ด๋ธ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋ค.
// ์์ฑ ๋ฆฌ์คํธ ์๋ต์ ํ
์ด๋ธ ์ ์ํ ๋์ ์์๋๋ก ๊ฐ์ด ์ฝ์
INSERT INTO ํ
์ด๋ธ์ด๋ฆ[(์์ฑ1, ์์ฑ2, ์์ฑ3,.....]
VALUES (value1, value2, value3....)
UPDATE
ํ ์ด๋ธ์ ์ ์ฅ๋ ํํ์์ ํน์ ์์ฑ์ ๊ฐ์ ์์
UPDATE ํ
์ด๋ธ์ด๋ฆ
SET ์์ฑ1=๊ฐ1, ์์ฑ2=๊ฐ2,...
WHERE ์กฐ๊ฑด
DELETE
ํ ์ด๋ธ์ ์๋ ๊ธฐ์กด ํํ์ ์ญ์
DELETE FROM ํ
์ด๋ธ์ด๋ฆ
WHERE ์กฐ๊ฑด
DCL(Data Control Language)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๊ทผ ๊ถํ ์ ์ด์ ์ฌ์ฉํ๋ ์ธ์ด. ๊ถํ ๋ถ์ฌ, ํ์๋ฅผ ํ๋ค.
GRANT
์ ์ ์๊ฒ ๊ถํ์ ๋ถ์ฌ
GRANT ๊ถํ[SELECT, INSERT, UPDATE, DELETE, EXECUTE, ALTER, DROP, CREATE,...]
ON ์ค๋ธ์ ํธ์ด๋ฆ[ํ
์ด๋ธ์ด๋ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ]
TO ์ ์ or๊ท์น
REVOKE
์ฌ์ฉ์๋ ์ญํ ๋ก๋ถํฐ ์ด์ ์ ๋ถ์ฌ๋ ๊ถํ์ ์ ๊ฑฐํ๋๋ฐ ์ฌ์ฉ.
REVOKE ๊ถํ
ON ์ค๋ธ์ ํธ
FROM ์ ์ or๊ท์น
'๐พ๋ฐ์ดํฐ๋ฒ ์ด์ค > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SQL ๋ด์ฅ ํจ์ (0) | 2024.07.28 |
---|---|
JOIN ์ ๋ฆฌ (0) | 2024.07.28 |