IT 프로그래밍/ORACLE2014. 1. 25. 03:03

이번에는 update set 문에 대해서 보겠습니다.

 

형식은 다음과 같습니다.

 

UPDATE table_name set 컬럼='변경할 값' where 컬럼='변경할 값의 해당 컬럼의 값';

 

제가 작성하고도 이해하기 어렵네요 ㅎㅎ

 

예문을 보겠습니다.

 

 


 

우선 TEST 라는 테이블에 컬럼과 값이 이렇게 들어가있네요.

 

4번 인덱스에 TITLE 컬럼의 값 보이시나요?

 

밤 이라는 값을 바꿔보도록 하겠습니다.

 

UPDATE TEST SET TITLE='오전' WHERE CONTENT='굿밤';

 

결과를 보도록 하겠습니다.

 

 


 

오전이라고 값이 바뀌었습니다.

 

이제 UPDATE SET 문의 응용을 보도록 하겠습니다.

 

UPDATE TEST SET COLUMN1='ABC' WHERE NO > 10;

설명 : TEST 테이블의 'COLUMN1' 컬럼값을 ABC로 수정하되 'NO' 컬럼의 값이 10이상인 모든것을 수정한다.

 

UPDATE TEST SET POINT=(POINT+100) WHERE NO <> 10;

설명 : TEST 테이블의 'POINT' 컬럼 값을 현재 값보다 100을 더한 값으로 수정하되 수정대상은 'NO' 컬럼값이 10을 제외한 모든것을 수정한다.

 

UPDATE TEST SET COLUMN1='ABC', COLUMN2='DEF' WHERE NO > 3 AND ID < 10;

설명 : TEST 테이블의 'COLUMN1' 컬럼과 'COLUMN2' 컬럼의 값을 수정하되 'NO' 컬럼값이 3보다 커야하고 'ID' 컬럼의 값이 10보다 작은 모든 값을 수정한다.

 

UPDATE TEST SET COLUMN1='ABC' WHERE NO > 3 ORDER BY UID LIMIT 20;

설명 : TEST 테이블의 'COLUMN1' 컬럼의 값을 ABC로 수정하되 'NO' 컬럼값이 3보다 커야하고 전체 목록을 UID 컬럼값을 기준으로 정렬해서 상위 20개를 수정한다.

 

UPDATE TEST SET COLUMN1=REPLACE(COLUMN1, '컴퓨터', 'COMPUTER');

설명 : TEST 테이블의 'COLUMN1' 컬럼의 값에 '컴퓨터' 라는 단어가 포함되어 있다면 모두 'COMPUTER'로 수정한다.

 

UPDATE TEST SET COLUMN1=CONCAT(COLUMN1, 'COPY') WHERE NO > 10;

설명 : TEST 테이블의 'COLUMN1' 컬럼의 값에 'COPY'를 덧붙이되 'NO' 컬럼의 값이 10 이상인 값에 덧붙인다.

 

 

이해가 잘 되셨는가요?

 

궁금하신점은 댓글 남겨주세요~

 

Posted by 정윤문경아빠