171222 SQL - RYUDONGJIN/Memo_wiki GitHub Wiki

SQL(Structured Query Language)

  • ๊ด€๊ณ„ DB๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์–ธ์–ด๋กœ ๋…์ž์ ์ธ ๋ฌธ๋ฒ•์„ ๊ฐ–๋Š” DBํ‘œ์ค€ ์–ธ์–ด.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ, ์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ์กฐ์ž‘์ด๋‚˜ ํ…Œ์ด๋ธ”์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๊ฐ์ฒด(์‹œํ€€์Šค, ์ธ๋ฑ์Šค ๋“ฑ)๋ฅผ ์ƒ์„ฑ ๋ฐ ์ œ์–ดํ•˜๋Š” ์—ญํ• .

SQL์˜ ์ข…๋ฅ˜

  1. ๋ฐ์ดํ„ฐ ์ •์˜์–ด(DDL) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋‚˜ ์‘์šฉํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด๋กœ์„œ ๋ฐ์ดํ„ฐ ์‚ฌ์ „(Data Dictionary)์— ์ €์žฅ๋œ๋‹ค.
  2. ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด(DML) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋กœ์„œ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰(Retrieval), ์ถ”๊ฐ€(Insert), ์‚ญ์ œ(Delete), ๊ฐฑ์‹ (Update) ์ž‘์—… ์ˆ˜ํ–‰.
  3. ๋ฐ์ดํ„ฐ ์ œ์–ด์–ด(DCL) : ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ ๋ถ€์—ฌ ๋“ฑ์œผ ใ…ฃ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์˜ ํŠธ๋žœ์ ์…˜์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์–ธ์–ด.

SQL ๋ช…๋ น๋ฌธ ์œ ํ˜•

  1. DQL(Data Query Language)์งˆ์˜์–ด : SELECT(๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์‹œ ์‚ฌ์šฉ)
  2. DML(Data Manipulation Language)๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด : INSERT(๋ฐ์ดํ„ฐ ์ž…๋ ฅ), UPDATE(๋ฐ์ดํ„ฐ ์ˆ˜์ •), DELETE(๋ฐ์ดํ„ฐ ์‚ญ์ œ)
  3. DDL(Data Definition Language)๋ฐ์ดํ„ฐ ์ •์˜์–ด : CREATE(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ), ALTER(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ), DROP(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ญ์ œ), RENAME(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด์ด๋ฆ„ ๋ณ€๊ฒฝ), TRUNCATE(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ ๊ณต๊ฐ„ ์‚ญ์ œ)
  4. TCL(Transaction Control Language)ํŠธ๋ Œ์žญ์…˜ ์ฒ˜๋ฆฌ์–ด : COMMIT(ํŠธ๋ Œ์žญ์…˜์˜ ์ •์ƒ์ ์ธ ์ข…๋ฃŒ์ฒ˜๋ฆฌ), ROLLBACK(ํŠธ๋ Œ์žญ์…˜ ์ทจ์†Œ), SAVEPOINT(ํŠธ๋ Œ์žญ์…˜ ๋‚ด์— ์ž„์‹œ ์ €์žฅ์  ์„ค์ •)
  5. DCL(Data Control Language)๋ฐ์ดํ„ฐ ์ œ์–ด์–ด : GRANT(๊ถŒํ•œ ๋ถ€์—ฌ), REVOKE(๊ถŒํ•œ ์ทจ์†Œ)