본문 바로가기
DB(Oracle)/Chapter

[SQL] Chapter2. 데이터 수정하기

by hyun's life_developer 2019. 9. 30.

 

안녕하세요. 초보개발자 시아아빠입니다.

 

오늘은 SQL 데이터 수정하는 법을 알아보겠습니다.

 

데이터 수정은 주로 데이터 값을 잘못 기입했을 때, 기입되었을 때나 새로 갱신하고 싶을때 많이 사용합니다.

 

이때 데이터 수정은 UPDATE를 이용합니다.

 

 

1. 데이터수정 ==> UPDATE

UPDATE table_name
   SET col1 = a

 

기본적인 UPDATE 구문입니다. 

--->'table_name이라는 테이블에 col1을 a로 바꾸어라' 라는 쿼리가 되겠는데요

a가 아닌 b로 바꿔주고싶다면 a->b로 col1이 아니 col2를 바꿔주고싶다면 col1->col2로 되겠습니다

 

>Table : My_Hero

HERO_NAME HERO_ID HERO_GENDER
Iron Man Iron Man WOMAN

위와같은 데이터테이블이 있다고 가정합니다.

 

아이언맨이 여자였나요?? 잘못 기입되었습니다.

 

다시 남자로 돌려주겠습니다.

UPDATE My_Hero
   SET HERO_GENDER = 'MAN'

 

남자로 되돌려주는 쿼리입니다. 데이터 테이블을 보겠습니다.

 

HERO_NAME HERO_ID HERO_GENDER
Iron Man Iron Man MAN

자 아이언맨을 되살려주었습니다. 

 

하지만 이 데이터는 아이언맨 하나만 있었기에 다행이지 캡틴 마블이라던가 블랙위도우 등등 여성 데이터가 있었다면

 

그 여성의 데이터마저 MAN으로 바뀌었을 겁니다.

이유는 쿼리가  'My_Hero라는 테이블에 HERO_GENDER을 MAN으로 (다) 바꿔줘'이기 때문입니다.

 

>My_Heros

HERO_NAME HERO_ID HERO_GENDER
Iron Man Iron Man MAN
Black Widow Black WOMAN
Thor Thorrr WOMAN
Captain Marvel Boom WOMAN

이와같은 데이터가 있습니다.

 

이번에는 토르가 여자가 되었네요.....상상이 되질 않습니다....빨리 돌려줘야 할듯 합니다.

 

이와같이 데이터 중 한 데이터의 값을 바꿔주고 싶을때는 Update구문에 조건을 주어야 하는데요. 

 

조건은 조회시 조건 줄때와 같이 WHERE을 사용합니다

 

UPDATE My_Heros
   SET HERO_GENDER = 'MAN'
 WHERE HERO_NAME = 'Thor'

>>'My_Heros 라는 테이블에 HERO_GENDER을 남자로 바꾸어줘! HERO_NAME이 Thor 인 것(만)!!'

WHERE에 HERO_NAME이 Thor인 조건을 걸어주었습니다. 따라서 Thor의 성별만 MAN으로 바꿔줘라는 쿼리가 됩니다.

 

 

2. 응용

조금 응용을 해보겠습니다. 

HERO_NAME HERO_ID HERO_GENDER
Iron Man Iron Man WOMAN
Black Widow Black WOMAN
Thor Thorrr WOMAN
Captain Marvel Boom WOMAN

데이터 삽입시 HERO_GENDER가 모두 WOMAN으로 들어가버렸습니다.

 

아이언맨과 토르는 남자로 데이터를 수정해주어야 겠죠!?

 

남자로 되돌려주겠습니다.

 

UPDATE My_Heros
   SET HERO_GENDER = 'MAN'
 WHERE HERO_NAME IN ('Iron Man', 'Thor')

이와 같이 같은 컬럼 내에서 다중선택을 하고자 할때는 Column IN (data1, data2);를 이용하시면 됩니다.

 

도움이 되셨다면 구독과 공감 부탁드립니다. 저에게는 아주 큰 힘이 됩니다 ㅎ

 

 

'DB(Oracle) > Chapter' 카테고리의 다른 글

[SQL] Chapter1. 테이블 생성과 변경 및 제거  (0) 2019.07.08

댓글