본문 바로가기

초보개발자의 작업노트

SQL Developer에서 데이터 수정및 삭제 방법

반응형

오라클의 SQL Developer에서 데이터를 수정(UPDATE) 및 삭제(DELETE)하는 방법을 살펴보자.
기존에 입력되어 있는 값을 수정하기 위해서는 UPDATE 쿼리문을 이용한다.
UPDATE 테이블이름
SET 열1=값1, 열2=값2, ....
WHERE 조건;


UPDATE 사용법은 간단하지만, 주의할 점이 있다.
WHERE절은 생략가능하지만, WHERE을 생략하면, 테이블 전체의 행이 변경된다.
예를 들어,
UPDATE testTBL4
SET Phene = '없음'
WHERE FirstName = 'David';
라고 작성해야 하는데, 만약 실수로 WHERE FirstName = 'David'를 빼먹었다면, 전체 행의 Phone이 모두 '없음'으로 변경된다.
실무에서도 이런 실수가 종종 일어날 수 있으므로 주의가 필요하다.


아직 COMMIT을 실행하지 않았다면, ROLLBACK명령으로 되돌릴 수 있지만, COMMIT을 실행한 뒤라면 원상태로 복구하기 위해서는 많은 복잡한 절차가 필요할 뿐만 아니라, 다시 되돌릴 수 없는 경우도 있다.
가끔은 전체 테이블의 내용을 변경하고 싶을 때, WHERE를 생략할 수도 있는데, 예를 들어 구매 테이블에서 현재의 단가가 모두 1.5배 인상되었다면, 다음과 같이 사용할 수 있다.
UPDATE buyTBL SET price = price * 1,5;


데이터를 삭제하는 DELETE도 UPDATE와 거의 비슷하다.
DELETE는 행단위로 삭제하는데, 형식은 다음과 같다.
DELETE FROM 테이블이름 WHERE 조건;
만약, WHERE문이 생략되면 전체 데이터를 삭제한다.
testTBL4에서 'Peter' 사용자가 필요없다면 다음과 같이 쿼리문을 작성한다.
DELETE FROM testTBL4 WHERE FirstName = 'Peter';
그런데 모두 지우지 않고 일부 'Peter'만(Peter라는 이름의 사람이 3명인데, 상위 2명만 지우고 싶다) 지우고 싶었다면, 다시 되돌리고 ROWNUM을 활용한다.
ROOBACK; --앞에서 지운 'Peter'를 되돌림
DELETE FROM testTBL4 WHERE FirstName = 'Peter' AND ROWNUM <=2;






반응형