티스토리 뷰
Select 구문보다는 많지는 않지만 데이터베이스에 이전에 추가한 데이터를 삭제하거나, 수정해야 해야하는 요구사항이 생각보다 많습니다. 이 글에서 설명드릴 Delete 구문과 Update 구문을 통해서 요구사항을 만족시킬 수 있습니다. Delete 구문은 필요없는 데이터를 삭제 할 수 있고, Update 구문은 데이터의 변경을 가능하게 해줍니다.
Select 구문에 대해서 궁금한점이 있으시면, 아래의 링크를 참고하세요.
1. Delete 구문 - 데이터를 삭제해봅시다.
어떠한 테이블을 Select 해보니 결과가 아래와 같이 나왔습니다. Gus라는 사람이 문제네요. Gus가 3명이나 등록이 되어있습니다. 똑같은 사람인것 같은데 이를 어떻게 해야 할까요?
중복되는 Row를 삭제하기 위해서는 Delete 구문을 사용해야 합니다. Delete 구문은 아래와 같이 사용이 됩니다.
Delete From 테이블 이름 Where 조건
사용 방법은 Select 구문과 비슷합니다. 삭제하고 싶은 Row가 있는 테이블 이름과 그에 대한 조건만 설정을 해주면 됩니다. 위의 데이터를 확인해 보니 Gus는 10살짜리 아이인것으로 판명이 되었습니다.
그럼 12살로 등록된 2, 3번 Gus와 관련된 Row를 삭제를 하면 되겠네요. 명령어를 한번 만들어 보겠습니다.
Delete from Contacts_Table Where Name = 'Gus' and Age = 12
그리고 실행을 해보았습니다. 10살짜리 Gus 만 남았네요.
데이터베이스의 테이블에 있는 데이터를 삭제하는 방법은 위와 같이 쉽습니다. 하지만 Delete 구문에 대한 참고사항이 있습니다. 참고사항을 살펴보도록 하겠습니다.
- 한 열이나 여러 열의 값을 지울 때에는 Delete 구문을 사용할 수 없습니다.
- Where 절의 조건에 따라 한행 혹은 여러행을 삭제할 수 있습니다.
- 조심하세요!! 'Delete From 테이블 이름' 을 실행하게 되면 모든 데이터가 삭제됩니다.
Delete를 이용하면 데이터가 삭제가 되기 때문에 삭제를 할 때 조심하셔야 합니다. 조건에 대해서 한번더 확인을 하고 삭제를 진행하시길 바랍니다.
그럼 데이터가 중복되지 않지만, 데이터를 변경해야 하는 경우는 어떻게 해야 할까요? Delete를 하고 Insert를 해야 할까요?
아닙니다. 이런 경우를 위해서 Update 구문을 사용할 수 있습니다.
2. Update 구문 - 데이터를 변경해 봅시다.
Gus가 나이를 먹어 11살이 되었습니다. 하지만 데이터베이스에는 아직 10살이라고 되어 있네요. 데이터를 바꿔야 하는데 Insert, Delete를 하기에는 너무 귀찮습니다. 이럴 때 사용하는것이 바로 Update 입니다. Update에 대한 사용방법을 먼저 살펴보도록 하겠습니다.
Update 테이블 이름 Set 컬럼이름1 = 값, 컬럼이름2 = 값 Where 조건
Update 구문에는 Set 컬럼이름 = 새로운 값 이라는 명령어를 통해서 데이터를 변경하네요.
그럼 Gus의 나이를 변경해 볼까요. 먼저 명령어를 만들어 봅시다. 이름이 Gus인 Row의 Age를 기존의 Age + 1한 값을 넣었습니다.
Update Contacts_Table Set Age = Age + 1 Where Name = 'Gus'
실행을 하고 결과를 볼까요?
Gus의 나이가 10살에서 11살로 바뀌었습니다. 결과가 잘나왔네요.
데이터의 모든 나이를 +1하고 싶으면 어떻게 해야 할까요? Where 구문을 적용하지 않으면 됩니다. Where 구문이 조건절이기 때문에 조건에 맞는 데이터만 Age를 더했지만 조건을 빼면 모든 데이터의 값을 업데이트하게 됩니다.
Update Contacts_Table Set Age = Age + 1
위의 명령어를 실행하니 모든 나이가 업데이트가 되었습니다.
Delete 문가 마찬가지로 Update 문에도 주의할 점이 있습니다. 주의할점을 알아보도록 하겠습니다.
- Column을 여러개 설정하여 한열 또는 여러 열의 값을 변경하는데 Update를 사용할 수 있습니다.
- Where 절을 이용하여 한행 또는 여러 행의 값을 변경하는데 Update를 사용할 수 있습니다.
이 글에서는 Update와 Delete에 대해서 알아보았습니다.
이 글이 도움이 되셨나요?
그렇다면 아래의 그림을 클릭해주세요.
'프로그래밍 팁s > Database' 카테고리의 다른 글
[데이터베이스] SQL ALTER문 - 테이블을 변경하자. (1) | 2014.11.25 |
---|---|
[데이터베이스] 정규화(Nomalization) - 원자적 데이터와 기본키(Primary Key) (0) | 2014.11.24 |
[데이터베이스] Select 문 - 데이터 가져오기 (0) | 2014.11.20 |
데이터 베이스 기초 SQL 명령어 - 데이터베이스 생성 부터, 테이블 사용까지 (0) | 2014.11.20 |
데이터베이스란 무엇인가? (What is database?) (0) | 2014.11.11 |