DML๊ณผ DDL์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ์ํด ์ค์ํ ์ญํ ์ ํ๋ค. DML์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์์ , ์ญ์ ํ๊ณ DDL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑ, ์์ ๋ฐ ์ญ์ ํ ์ ์๋ค.
DML(Data Manipulation Language)
๋ฐ์ดํฐ๋ฅผ ๊ฒ์, ์ฝ์ , ์์ ๋ฐ ์ญ์ ํ๋ ๋ฐ ์ฌ์ฉ
์ข ๋ฅ
- SELECT : ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ ๊ฒ์
- INSERT : ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ์
- UPDATE : ๋ฐ์ดํฐ ์์
- DELETE : ๋ฐ์ดํฐ ์ญ์
์คํ ์์
- FROM, JOIN
- ON, WHERE → 2์ฐจ ํ ์ด๋ธ ์์ฑ
- GROUP BY
- AGGREGATE → 3์ฐจ ํ ์ด๋ธ ์์ฑ
- HAVING → 4์ฐจ ํ ์ด๋ธ ์์ฑ(HAVING ์์ ์ด ์์ ๊ฒฝ์ฐ์๋ง)
- ORDER BY
- LIMIT
DDL(Date Definition Language)
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ ์ํ๊ณ ์กฐ์ํ๋ ๋ฐ์ ์ฌ์ฉ
์ข ๋ฅ
- CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์์ฑ
- ALTER : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์์
- DROP : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ์ญ์
- TRUNCATE : ๋ฐ์ดํฐ ์ญ์ , ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๊ทธ๋๋ก ์ ์ง
๋น๊ต
CHAR vs VARCHAR
๋ฐ์ดํฐ ํ์ | ์ ์ฅ ๊ณต๊ฐ | ๊ฒ์ ์๋ | ์ฉ๋ ์ฐจ์ง | |
CHAR | ๊ณ ์ ๊ธธ์ด ๋ฌธ์์ด | ์ง์ ๋ ๊ธธ์ด๋ณด๋ค ์งง์๋ ์ง์ ๋ ๊ธธ์ด๋งํผ ๊ณต๊ฐ ์ฌ์ฉ (๋๋จธ์ง ๊ณต๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง๋ค.) | ๋น ๋ฆ | ์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์์ ์๊ด์์ด ์ ์ฅ ์ฉ๋ ์๋ชจ |
VARCHAR | ๊ฐ๋ณ ๊ธธ์ด ๋ฌธ์์ด | ์ ๋ ฅ๋ ๋ฐ์ดํฐ ๊ธธ์ด์ ๋ฐ๋ผ ๋์ ์ผ๋ก ์กฐ์ | ๋๋ฆผ | ์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์์ ์ ์ฅ ์ฉ๋ ์ ์ฝ |
DELETE vs TRUNCATE
๊ธฐ๋ฅ | ์๋ | ๋ก๊ทธ | ๋ณต๊ตฌ | |
DELETE | - ํ
์ด๋ธ์์ ํ(row) ‘ํ๋์ฉ’ ์ญ์ - ๋ฐ์ดํฐ๋ง ์ญ์ |
๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์ฒ๋ฆฌ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์๋ค. | ๋ก๊ทธ ํ์ผ์ ๊ฐ๊ฐ์ ์ญ์ ์ด๋ ฅ์ด ๊ธฐ๋ก๋๋ค. | ๋กค๋ฐฑ(rollback)์ ํตํด ์ด์ ์ํ๋ก ๋ณต๊ตฌ ๊ฐ๋ฅ |
TRUNCATE | - ํ
์ด๋ธ์ ‘๋ชจ๋ ’ ํ(row) ์ญ์ - ํ ์ด๋ธ ๊ตฌ์กฐ ๊ทธ๋๋ก ์ ์ง - ๋ฐ์ดํฐ์ ์ธ๋ฑ์ค ๋ฐ์ดํฐ๋ ์ญ์ |
๋น ๋ฆ | ์ญ์ ์ด๋ ฅ์ด ๊ธฐ๋ก๋์ง ์๋๋ค. | ๋กค๋ฐฑ์ ํตํ ์ด์ ์ํ๋ก ๋ณต๊ตฌ ๋ถ๊ฐ๋ฅ |
- TRUNCATE ๋ฅผ ํ ํ INSERT ๋ฅผ ํ๋ฉด id(AUTO_INCREMENT)์ 1๋ฒ์ด ์ฝ์ ๋๋ค.
'TIL > ๐งฌ DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DB์ DBMS, ๊ทธ๋ฆฌ๊ณ SQL ๋ช ๋ น์ด ๋ชจ์ (0) | 2023.03.12 |
---|---|
DB๊ฐ DBMS๋ ๋ค๋ฅธ ๊ฐ๋ ์ธ๊ฐ์? ๊ทธ๋ ๋ค๋ฉด RDBMS๋์? (0) | 2023.03.11 |
Index(์์ธ) (0) | 2023.03.10 |