JiYoung Dev πŸ–₯

[Oracle Database] DML(Data Manipulation Language) (2023.03.23~24) λ³Έλ¬Έ

full stack/database

[Oracle Database] DML(Data Manipulation Language) (2023.03.23~24)

Shinjio 2023. 3. 24. 15:26

πŸ”Ž DML (Data Manipulation Language) 

데이터 μ‘°μž‘ μ–Έμ–΄

ν…Œμ΄λΈ”μ— 데이터λ₯Ό μž…λ ₯(INSERT) / μ‚­μ œ(DELETE) /μˆ˜μ •(UPDATE)ν•œλ‹€.

 

πŸ“– INSERT

ν…Œμ΄λΈ”μ— μƒˆλ‘œμš΄ 데이터λ₯Ό νŠœν”Œ(ν–‰) λ‹¨μœ„λ‘œ μž…λ ₯

 

INSERT INTO ν…Œμ΄λΈ”λͺ… ( COLUMN_LIST) VALUES (COLUNM_LIST에 μž…λ ₯ν•  κ°’ 리슀트) ;

 

μž‘μ„±μ‹œ μ£Όμ˜μ‚¬ν•­

1. κ΄„ν˜Έ μ—΄κ³  λ‹«κΈ° 잘 지킀기

2. 첫 컬럼 μ•žμ—λŠ” μ½€λ§ˆκ°€ μ—†μŒ

3. 첫 μž…λ ₯ κ°’μ—λŠ” μ½€λ§ˆκ°€ μ—†μŒ

 

βš™ μ—λŸ¬μΌ€μ΄μŠ€ 1 : μ‹λ³„μžμ— NULL을 μž…λ ₯ν•œ 경우

β˜… μ‹λ³„μžμ—λŠ” NULL값이 λ“€μ–΄κ°€λ©΄ μ•ˆλ˜κ³ , μ€‘λ³΅λ˜λŠ” 값이 있으면 μ•ˆλ¨

 

 

βš™ μ—λŸ¬μΌ€μ΄μŠ€ 2 : μžλ£Œν˜•μ— λ§žμ§€ μ•Šμ€ μž…λ ₯값을 넣은 경우

λ‚˜μ΄ μ»¬λŸΌμ€ μˆ«μžν˜•μΈλ° λ¬Έμžμ—΄μ„ λ„£μ—ˆμŒ

 

 

βš™ μ—λŸ¬μΌ€μ΄μŠ€ 3 : NOT NULL인 μ»¬λŸΌμ— NULL을 넣은 경우

ν…Œμ΄λΈ”λͺ…을 μž…λ ₯ν•˜κ³  블둝 μ²˜λ¦¬ν•œ ν›„ SHIFT + F4 ν‚€ λˆ„λ₯΄λ©΄ 확인 κ°€λŠ₯

 

 

 

 

βš™ μ—λŸ¬μΌ€μ΄μŠ€ 4 : μ‹λ³„μž μ»¬λŸΌμ— 쀑볡 값을 넣을 경우

 

INSERTν•  λ•Œ λ‚΄κ°€ μ›ν•˜λŠ” μ»¬λŸΌμ—λ§Œ 데이터λ₯Ό 넣을 수 있음

μž…λ ₯ν•˜μ§€ μ•Šμ€ μ»¬λŸΌμ€ μžλ™μœΌλ‘œ NULL이 μž…λ ₯됨 

단, κ·Έ 컬럼이 NULL을 μž…λ ₯받을 수 μžˆλŠ” μƒνƒœμ˜ μ»¬λŸΌμ΄μ–΄μ•Ό 함 

νŒ¨μŠ€μ›Œλ“œλ‚˜ λΆ€μ„œID의 값을 넣지 μ•ŠμœΌλ©΄ 였λ₯˜ λ°œμƒ

 

 

βš™ μ—λŸ¬μΌ€μ΄μŠ€ 5 : μ»¬λŸΌλ¦¬μŠ€νŠΈμ™€ μž…λ ₯ κ°’μ˜ κ°œμˆ˜κ°€ λ‹€λ₯Έ 경우

 

컬럼리슀트λ₯Ό μ“°μ§€μ•Šμ•„λ„ INSERT κ°€λŠ₯

쑰건은 μž…λ ₯ν•˜λ €λŠ” μ§μ›ν…Œμ΄λΈ”μ— μ–΄λ–€ 컬럼이 μžˆλŠ”μ§€μ™€ 컬럼의 μˆœμ„œ, 컬럼의 μžλ£Œν˜•μ„ μ•Œμ•„μ•Ό 함 

이λ₯Ό 빠짐없이 VALUES에 λ‹€ μ¨μ€˜μ•Ό 함 

μ‹€λ¬΄μ—μ„œλŠ” 잘 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ

 

 

πŸ“– UPDATE 

ν…Œμ΄λΈ”μ— μžˆλŠ” 기쑴의 데이터λ₯Ό λ³€κ²½ν•  λ•Œ μ‚¬μš©

 

UPDATE ν…Œμ΄λΈ”λͺ… SET λ°”κΏ€μ»¬λŸΌ = λ°”κΏ€κ°’ WHERE 바꾸고싢은행쑰건 ; 

 

 

 

πŸ“– DELETE

ν…Œμ΄λΈ”μ— μ‘΄μž¬ν•˜λŠ” 데이터λ₯Ό νŠœν”Œ(ν–‰) λ‹¨μœ„λ‘œ μ‚­μ œ

 

DELETE FROM ν…Œμ΄λΈ”λͺ… WHERE μ‚­μ œν•˜κ³ μ‹Άμ€ν–‰μ‘°κ±΄ ;

 

ν˜„μ—…μ—μ„œλŠ” DELETE 많이 μ‚¬μš©ν•˜μ§€ μ•ŠμŒ. μ‚­μ œ μ—¬λΆ€ μ»¬λŸΌμ„ ν•˜λ‚˜ μΆ”κ°€ λ‘ 

 

μ‚­μ œμ‹œ λΆ€λͺ¨ μš”μ†ŒλΆ€ν„° μ‚­μ œν•  경우 였λ₯˜ λ°œμƒ

μžμ‹ μš”μ†Œκ°€ μ°Έμ‘°ν•˜κ³  있기 λ•Œλ¬Έ

이럴 λ•ŒλŠ” μžμ‹ μš”μ†ŒλΆ€ν„° μ‚­μ œν•œ ν›„ λΆ€λͺ¨ μš”μ†Œλ₯Ό μ‚­μ œν•˜λ©΄ 됨. 

 

 

ROLLBACK ;

μž…λ ₯ν•˜λ©΄ μž…λ ₯ν•œ 문법 되돌렀짐

 

COMMIT ;

처리 ν›„ 영ꡬ적으둜 데이터λ₯Ό μ €μž₯