๐Ÿงฑ SQL

DML ๋ช…๋ น์–ด ์ •๋ฆฌ

ํ–‰ํŒฝ 2024. 1. 2. 18:39

 

 

1๏ธโƒฃ INSERT

๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ/์‚ฝ์ž…ํ•˜๋Š” ๋ช…๋ น์–ด

 

โœ… ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•

  1. ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œํ•˜๊ธฐ
    • ์–ด๋–ค ์ปฌ๋Ÿผ์— ๊ฐ’์„ ๋„ฃ์„์ง€ ๋ช…์‹œ
    • ์ปฌ๋Ÿผ ์ˆœ์„œ์— ๋งž๊ฒŒ ์ž‘์„ฑ
  2. ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œํ•˜์ง€ ์•Š๊ธฐ
    • ๋ชจ๋“  ์ปฌ๋Ÿผ์— ๊ฐ’์„ ๋„ฃ์„ ๊ฒƒ์ด๋ผ๋Š” ์˜๋ฏธ
    • ํ…Œ์ด๋ธ”์—์„œ ์ •์˜๋œ ์ปฌ๋Ÿผ ๊ฐœ์ˆ˜์— ๋งž์ถฐ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ’์„ ์ž…๋ ฅ

 

โœ… ๊ตฌ์กฐ

-- โ‘  ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œ
INSERT INTO table1 (col1, col2, …) VALUES (val1, val2, …)

-- โ‘  ์˜ˆ์‹œ
INSERT INTO player (name, height, weight) VALUES ('KIM', 170, 65)

-- โ‘ก ์ปฌ๋Ÿผ ๋ฆฌ์ŠคํŠธ ๋ช…์‹œ X
INSERT INTO table1 VALUES (val1, val2, …)

-- โ‘ก ์˜ˆ์‹œ
INSERT INTO player VALUES ('KIM', 170, 65)

 

 

 

 

2๏ธโƒฃ UPDATE

์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ช…๋ น์–ด

ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด WHERE ์ ˆ์„ ์ด์šฉํ•œ ์กฐ๊ฑด์ถ”๊ฐ€

 

โœ… ๊ตฌ์กฐ

-- ๊ตฌ์กฐ
UPDATE table1 SET col1 = value3, ...
UPDATE table1 SET col1 = value3 WHERE ์กฐ๊ฑด

-- ์˜ˆ์‹œ : player์˜ "๋ชจ๋“ " ์ด๋ฆ„์„ LEE๋กœ ์ˆ˜์ •
UPDATE player SET name = 'LEE'

-- ์˜ˆ์‹œ : "id๊ฐ€ 1์ธ" player์˜ ์ด๋ฆ„์„ LEE๋กœ ์ˆ˜์ •
UPDATE player SET name = 'LEE' WHERE id=1

 

 

 

 

3๏ธโƒฃ DELETE

๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด

ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด WHERE ์ ˆ์„ ์ด์šฉํ•œ ์กฐ๊ฑด ์ถ”๊ฐ€

 

โœ… ๊ตฌ์กฐ

-- ๊ตฌ์กฐ
DELETE table1
DELETE FROM table1

DELETE table1 WHERE ์กฐ๊ฑด
DELETE FROM table1 WHERE ์กฐ๊ฑด

-- ์˜ˆ์‹œ : player์˜ "๋ชจ๋“ " ๋ฐ์ดํ„ฐ ์‚ญ์ œ
DELETE FROM player

-- ์˜ˆ์‹œ : "id๊ฐ€ 1์ธ" player ์‚ญ์ œ
DELETE FROM player WHERE id=1

 

โ›” ์—ฌ๊ธฐ์„œ ์ž ๊น - DROP vs TRUNCATE vs DELETE
DROP TRUNCATE DELETE
DDL DDL (์ผ๋ถ€ DML ๋А๋‚Œ) DML
ROLLBACK ๋ถˆ๊ฐ€๋Šฅ ROLLBACK ๋ถˆ๊ฐ€๋Šฅ
COMMIT ์ด์ „ ROLLBACK ๊ฐ€๋Šฅ
AUTO COMMIT AUTO COMMIT
์‚ฌ์šฉ์ž COMMIT
ํ…Œ์ด๋ธ”์˜ ์ •์˜ ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œ ํ…Œ์ด๋ธ”์„ ์ตœ์ดˆ ์ƒ์„ฑ๋œ ์ดˆ๊ธฐ ์ƒํƒœ๋กœ ๋งŒ๋“ฆ
ํ…Œ์ด๋ธ”์€ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ
-
๋ถˆ๊ทœ์น™ํ•œ ์‘๋‹ต ์†๋„
-

 

 

 

 

4๏ธโƒฃ SELECT

๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ช…๋ น์–ด

 

โœ… ๊ตฌ์กฐ 

SELECT col1, col2, ...
FROM table

 

 

 

 

5๏ธโƒฃ ROWNUM

Oracle์—์„œ ์ œ๊ณตํ•˜๋Š” Pseudo Column ์ค‘ ํ•˜๋‚˜๋กœ, ์กฐํšŒํ•œ ์ž๋ฃŒ์— ์ž„์‹œ๋กœ ์ผ๋ จ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋ช…๋ น์–ด

 

โ›” ์—ฌ๊ธฐ์„œ ์ž ๊น - Pseudo Column (์˜์‚ฌ/๊ฐ€์ƒ ์ปฌ๋Ÿผ)
ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜์ง€๋งŒ, ์‹ค์ œ DB์—๋Š” ์ €์žฅ๋˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ
SELECT ๋ฌธ์„ ํ†ตํ•ด ์กฐํšŒ๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, INSERT, UPDATE, DELETE๋ฅผ ํ†ตํ•œ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ๋Š” ๋ถˆ๊ฐ€๋Šฅ

 

โœ… ํŠน์ง•

์ฃผ๋กœ WHERE ๋ฌธ์—์„œ ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ

ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•  ๋•Œ ๋น„๊ต์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•จ ('=' ์‚ฌ์šฉ ๋ถˆ๊ฐ€)

 

โœ… ๊ตฌ์กฐ

#Oracle

-- ROWNUM ๊ตฌ์กฐ
SELECT / UPDATE / DELETE ~
WHERE ROWNUM ๋น„๊ต์—ฐ์‚ฐ์ž ํ–‰๊ฐฏ์ˆ˜

-- ROWNUM ์˜ˆ์‹œ
SELECT * FROM player
WHERE ROWNUM <= 3

 

 

 

6๏ธโƒฃ ROWID

Oracle์—์„œ ์ œ๊ณตํ•˜๋Š” Pseudo Column ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ฐ’

 

โœ… ํŠน์ง•

๊ฐ€์žฅ ๋น ๋ฅธ ํ…Œ์ด๋ธ” ์ ‘๊ทผ ๋ฐฉ๋ฒ•, ๊ฐ€์žฅ ๋น ๋ฅธ ๋‹จ์ผ ์ปฌ๋Ÿผ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

์œ ์ผํ•œ ์ฃผ์†Œ๊ฐ’์ด์ง€๋งŒ, PK์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋  ์ˆ˜ ์—†์Œ

๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ ํŒŒ์ผ, ์–ด๋А ๋ธ”๋ก์— ์ €์žฅ๋˜์–ด ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ

 

โœ… ๊ตฌ์กฐ

โ“’onlinedbalearning.blogspot.com/2019/07/oracle-rowid-format.html

๊ตฌ์กฐ ๊ธธ์ด ์„ค๋ช…
์˜ค๋ธŒ์ ํŠธ ๋ฒˆํ˜ธ 1~6
์˜ค๋ธŒ์ ํŠธ(Object) ๋ณ„๋กœ ์œ ์ผํ•œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์†ํ•ด ์žˆ๋Š” ๊ฐ’
์ƒ๋Œ€ ํŒŒ์ผ ๋ฒˆํ˜ธ 7~9
ํ…Œ์ด๋ธ”์ŠคํŽ˜์ด์Šค(Tablespace)์— ์†ํ•ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ƒ๋Œ€ ํŒŒ์ผ๋ฒˆํ˜ธ
๋ธ”๋ก ๋ฒˆํ˜ธ 10~15
๋ฐ์ดํ„ฐ ํŒŒ์ผ ๋‚ด๋ถ€์—์„œ ๋ฐ์ดํ„ฐ์˜ ๋ธ”๋ก ์œ„์น˜๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ๋ฒˆํ˜ธ
๋ฐ์ดํ„ฐ ๋ฒˆํ˜ธ 16~18
๋ฐ์ดํ„ฐ ๋ธ”๋ก์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์ˆœ์„œ