Kim VamPa

[Oracle 기본사용법][03] UPDATE(행수정), DELETE(행삭제), DROP(테이블 삭제) 본문

카테고리 없음

[Oracle 기본사용법][03] UPDATE(행수정), DELETE(행삭제), DROP(테이블 삭제)

Kim VamPa 2020. 4. 6. 09:33
728x90
반응형

"생활코딩 Oracle"을 개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.


목표

  • UPDATE, DELETE, DROP 명령어에 대해 공부합니다.
  • DELETE, DROP에 대해 명확히 이해합니다.

*해당 글의 실습은 Oracle XE버젼을 환경을 바탕으로 진행 행하였습니다..

목차

1. UPDATE

2. DELETE

3. DROP

4. DELETE vs DROP

 

0.  실습에 사용하는 표(Table)

 앞의 글 [02]의 표를 기준으로 하겠습니다.

[표 1]

테이블 이름 : topic

id title description created
1 ORACLE ORACLE is ... 2020.04.03
2 MySQL MySQL is .... 2020.04.03
3 NoSQL NoSQL is ... 2020.04.03

*COMMIT 명령어

  • 모든 작업을 정상적으로 처리하겠다고 확정하는 명령어입니다.
  • 내용을 삽입, 수정, 삭제 명령어(Transaction 명령어)를 수행한 후 반드시 commit;명령어를 실행해주어야만 데이터베이스에 적용이 됩니다.
  • commit 명령을 하지 않고 종료 시엔 실제 DB에 적용되지 않습니다.

 

1. UPDATE

UPDATE 테이블명 SET 지정컬럼명 = 수정내용 WHERE 컬럼조건;
  • 특정 테이블에서 조건을 만족하는 행에서 지정 컬럼을 수정합니다.
  • 2개이상의 컬럼을 수정 시 ","를 붙여서 다음 수정 내용을 작성하면 됩니다.

실습

1. topic테이블에서 id가 3인 행중 title칼럼을 'MSSQL', description칼럼을 'MSSQL is..." 로 변경합니다.

UPDATE topic SET title = 'MSSQL', description = 'MSSQL is ...' WHERE id = 3;

그림 1-1

- 정상적으로 요청한 명령이 수행될 시 '업데이트되었습니다'라는 문구가 뜹니다.

- 데이터가 등록, 수정, 삭제가 있을 시엔 반드시 commit;을 해줍니다.

- 변경된 내용이 적용되었는지를 확인하기 위해 "SELECT * FROM topic;"를 쳐서 확인해봅니다.(그림 1-2 참고)

그림 1-2

- 결과물을 보시면 'NoSQL' => 'NSSQL' / 'NoSQL IS ...' => 'NSSQL IS ...'로 변경되신 것을 확인하실 수 있습니다.

 

2. DELETE

1.DELETE FROM 테이블명;
2.DELETE FROM 테이블명 WHERE 조건;

- DELETE는 테이블에 등록된 행을 삭제하는 명령어입니다.

- 1번의 경우 해당 테이블의 모든 행을 삭제합니다.

- 2번의 경우 해당 테이블 중 조건을 만족하는 행만 삭제를 합니다.

 

실습

1. topic 테이블(표1)에서 id가 3인 행을 삭제합니다.

DELETE FROM topic WHERE id = 3;

그림 2-1

- 정상적으로 명령이 실행되었을 시 "삭제되었습니다"라는 문구가 뜹니다.

- 해당 명령을 실행 후 "commit;" 명령어를 요청해야만 해당 삭제명령이 데이터베이스에 적용이 됩니다.

- 변경된 내용이 적용되었는지를 확인하기 위해 "SELECT * FROM topic;"를 쳐서 확인해봅니다.(그림 2-2 참고) 

그림 2-2

- 결과 창을 보시면 테이블의 모든 데이터를 검색을 요청하였음에도 삭제를 진행한 행(id=3)을 제외한 행들만 검색된 것을 보실 수 있습니다.

3. DROP

DROP TABLE 테이블명;

- 테이블을 통째로 삭제를 요청하는 명령어입니다.

실습

1. topic테이블(표1) 삭제를 요청합니다.

DROP TABLE topic;

그림 3-1

- 삭제요청이 정상적으로 진행 시 "테이블이 삭제되었습니다"라는 문구가 뜹니다.

- 테이블 삭제요청은 commit 명령어가 필요 없습니다.

- 삭제가 정상적으로 진행되었는지 확인하기 위해 검색 명령어(SELECT * FORM topic;)를 실행해봅니다.

그림 3-2

- 결과창을 보시면 테이블의 모든 정보 검색을 요청하였음에도 테이블이 존재지 않기 때문에 오류가 발생한 것을 보실 수 있습니다.

 

3. DELETE vs DROP

  • DELETE
    - 테이블 안에 존재하는 데이터를 삭제하는 명령어입니다.
    - 테이블 안의 모든 데이터가 삭제되어도 테이블은 존재합니다.
    - 적용을 위해선 commit; 명령어가 반드시 필요합니다.
  • DROP
    - 테이블 자체를 삭제하는 명령어입니다.
    - commit; 명령어를 실행하지 않아도 해당 명령이 적용됩니다.

Reference

Date

  • 2020.04.06 작성

 

 

 

 

728x90
반응형
Comments