SQL첫걸음 17강 추가

This commit is contained in:
DESKTOP-FSO9NHB\User
2020-12-14 16:03:26 +09:00
parent fb76da539e
commit 9eb6530089
2 changed files with 43 additions and 1 deletions

View File

@@ -24,4 +24,5 @@
- [15강. CASE 문으로 데이터 변환하기](https://github.com/banjjoknim/TIL/blob/master/SQL%EC%B2%AB%EA%B1%B8%EC%9D%8C/Lecture15.md)
## 4장. 데이터의 추가, 삭제, 갱신
- [16강. 행 추가하기 - INSERT](https://github.com/banjjoknim/TIL/blob/master/SQL%EC%B2%AB%EA%B1%B8%EC%9D%8C/Lecture16.md)
- [16강. 행 추가하기 - INSERT](https://github.com/banjjoknim/TIL/blob/master/SQL%EC%B2%AB%EA%B1%B8%EC%9D%8C/Lecture16.md)
- [17강. 삭제하기 - DELETE](https://github.com/banjjoknim/TIL/blob/master/SQL%EC%B2%AB%EA%B1%B8%EC%9D%8C/Lecture17.md)

41
SQL첫걸음/Lecture17.md Normal file
View File

@@ -0,0 +1,41 @@
# 17강. 삭제하기 - DELETE
데이터베이스의 테이블에서 행을 삭제하기 위해서는 `DELETE` 명령을 사용한다.
**`DELETE 명령`**
```
DELETE FROM 테이블명 WHERE 조건식
```
---
## 1. DELETE로 행 삭제하기
- `RDBMS`에서 데이터를 삭제할 경우에는 행 단위로 `DELETE` 명령을 수행한다.
**`DELETE 명령`**
```
DELETE FROM 테이블명 WHERE 조건식
```
- `DELETE FROM sample41;` 으로 `DELETE` 명령을 실행하면 `sample41` 테이블의 모든 데이터가 삭제된다.
- `DELETE` 명령에는 `WHERE` 구를 지정할 수 있으나 `SELECT` 명령처럼 `WHERE` 구를 생략할 경우에는 모든 행을 대상으로 동작하기 때문이다.
- 한편 `WHERE` 구를 지정한 경우에는 해당 조건식에 맞는 행만 삭제 대상이 된다.
##### DELETE 명령으로 행을 삭제할 수 있다!
- 삭제는 행 단위로 수행된다.
- `SELECT` 명령과 같이 열을 지정할 수는 없다.
- 즉, `DELETE no FROM sample41`과 같이 열을 지정하여 그 열만 삭제할 수는 없다.
- `DELETE` 명령을 실행할 때는 재확인을 위한 대화창 같은 것은 표시되지 않는다.
- 즉, `WHERE` 구에서 조건식을 잘못 지정하면 의도하지 않은 데이터마저 삭제된다.
- 따라서 `DELETE` 명령을 실행할 때는 주의를 기울여야 한다.
##### DELETE 명령은 WHERE 조건에 일치하는 '모든 행'을 삭제한다!
---
## 2. DELETE 명령 구
- `WHERE` 구에서 대상이 되는 행을 검색하는 것은 `SELECT` 명령에서도 `DELETE` 명령에서도 똑같다.
- 단지 `SELECT` 명령에서는 조건에 맞는 행의 결괏값이 클라이언트로 반환되지만, `DELETE` 명령에서는 조건에 맞는 행이 삭제된다는 점만 다르다.
- `DELETE` 명령에서도 `SELECT` 명령처럼 `WHERE` 구를 지정할 수 있지만 `ORDER BY` 구는 사용할 수 없다. 어떤 행부터 삭제할 것인지는 중요하지 않으며 의미가 없기 때문이다.
---