본문 바로가기

Study/데이터 베이스

[DBMS 강의 - 14] 데이터 수정 (UPDATE, DELETE)

UPDATE

- 테이블의 하나 이상의 열을 갱신하는 명령문이다.

- 사용 구문은 다음과 같다.

UPDATE table name SET column1 = value1  [ , column2 = value2, ... ] [ WHERE search_condition ]

 

- column = value : 해당 그룹은 필요한 만큼 반복될 수 있다. (여러개 사용시 ',' 로 구분한다)

- WHERE 절은 생략될 수도 있지만, 이 경우 모든 행이 일관적으로 갱신되기 때문에 주의가 필요하다.

 

- UPDATE 문의 작동 원리를 그림으로 표현하면 다음과 같다.

 

UPDATE문을 사용한 쿼리는 다음과 같은 종류가 있다.

 

우선 TableDft에 저장된 현재 정보들을 조회한다.

이후에 location 열이 서울시 이면 이를 부산시로 바꾼다.

갱신된 결과를 다시 조회환다.

 

처음 조회시 나타나는 화면

 

갱신 후 조회시 나타나는 화면 (서울시->부산시)

 

 

 

TableDft 테이블에서 id 값이 1인 행을 조회한다.

id 값이 1인 행의 location 열 값을 DEFAULT (테이블 생성시 서울시로 설정함)로 갱신한다.

갱신된 결과를 다시 조회한다.

 

NULL인 상태에서 DEFAULT로 location을 설정하면...

 

서울시로 바뀐다.

 

 

 

orders 테이블에서 orders_id가 1인 행을 조회한다.

해당 행의 qty 값을 현재 qty 값에서 5만큼 더한 값으로 갱신한다.

갱신된 값을 다시 조회한다. 

 

현재 qty 값 :10

 

갱신된 qty 값 : 15

qty = qty + 5

10  = 10 + 5

15

 

 

 

 

 

DELETE

- 테이블의 하나 이상의 행을 삭제하는 명령문이다.

- WHERE 절 사용시 WHERE 절을 만족하는 행 자체가 삭제된다.

- 행 단위로 적용되며, 행의 일부만을 삭제할 수는없다.

- 사용 구문은 다음과 같다.

DELETE [ FROM ] table_name [ WHERE search_condition ]

- FROM : 생략할 수 있으나, 호환성을 위해 생략하지 않는 것을 권장한다.

- WHERE 절은 생략될 수도 있지만, 이 경우 모든 행이 일관적으로 삭제 되기 때문에 주의가 필요하다.

 

- UPDATE 문의 작동 원리를 그림으로 표현하면 다음과 같다.

 

 

위의 그림을 쿼리로 표현하면 다음과 같다.

 

Table1의 상태를 조회하고, id 값이 7인 행을 삭제하며, 다시 테이블을 조회한다.

 

현재 테이블에는 (7, DBMS) 값이 존재한다.

 

삭제 후에는 존재하지 않는다.