안녕하세요. 초보개발자 시아아빠입니다.
오늘은 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 |
---|
댓글