이 내용은 2011년 6월 현재 SQL2011(코드명 Denali) Beta를 기준으로 작성 되었으며 SQL2011(코드명 Denali) 공식버전(RTM) 발표까지 꾸준히 업데이트 예정입니다.
아울러, 현재 Beta버전이지만 강좌를 따라해 보시는데 아무 문제 없으실거에요. 도움 되시길 바랍니다.
==================================================================================================



안녕하세요이스트럭 강동운입니다.

 

이번에는 DDL 에서 테이블의 데이터를 수정하는 UPDATE 절, 그리고 데이터를 삭제하는 DELETE 절에 대해서 알아보도록 하겠습니다.

 

 

UPDATE 절에 대한 기본 구조는 아래와 같습니다.

 

 

UPDATE 테이블명

SET 컬럼1 = 변경할 컬럼1 

,    컬럼2 = 변경할 컬럼2 

..

WHERE 조건

 

 

간단한 예제로 한번 살펴보도록 하겠습니다.

 

1) Member 테이블에서 MemberAge 값을 모두 10으로 변경하려는 경우.

    (모두 변경하기 때문에 WHERE 조건을 주지 않습니다.)

 

 

UPDATE Member

SET MemberAge = 10

 

 

 

2) Member 테이블에서  MemberArea 서울  사람들만 MemberAge 20으로 변경

 

 

UPDATE Member

SET MemberAge = 20

WHERE MemberArea = ‘서울

 

 

(참고문자열을 조회하기 위해서는 ‘문자’ 형태로 묶어야 합니다.)

 

 

 

3) Member 테이블에서 MemberArea  서울  사람들은 MemberAge 15 변경하고, MemberArea  부산 사람들은 MemberAge  25 변경하자.

(조건이 두개라 쿼리를 두개로 나눠서 처리하게 됩니다.)

 

UPDATE Member

SET MemberAge = 15

WHERE MemberArea = ‘서울

 

UPDATE Member

SET MemberAge = 25

WHERE MemberArea = ‘부산

 

 

 

 

하지만, CASE 문을 활용해서 한번에 처리할 수도 있습니다.

 

UPDATE Member

SET MemberAge = (CASE MemberArea

WHEN ‘서울’ THEN 15

WHEN ‘부산’ THEN 25

                    END)

WHERE MemberArea  IN (‘서울’,’부산’)

 

 

Case (Transact-SQL): http://msdn.microsoft.com/ko-kr/library/ms181765.aspx

 

 

 

물론 업데이트 역시.. JOIN문을 활용할  있습니다.

 

예를들어 Login이라는 테이블이 있고여기서 한번 이상 로그인  유저에 대해서MemberAge 10으로 바꾸는 예제 입니다.

 

 

 

UPDATE Member

SET MemberAge = 10

FROM        Member

INNER JOIN  Login    ON Member.MemberIDX = Login.MemberIDX

 

 

 

지금까지 UPDATE 절을 아주 간단하게 활용하는 방법에 대해서 알아봤습니다.

 

사실 이건 정말 기초적인 부분이고, UPDATE  또한 엄청 복잡하게 구성되어있습니다.

 

UPDATE(Transact-SQL) Denali: http://msdn.microsoft.com/en-us/library/ms177523(v=SQL.110)

UPDATE(Transact-SQL) SQL Server 2008 R2: http://msdn.microsoft.com/ko-kr/library/ms177523(v=SQL.100)

 

DELETE 절은 매우 위험하기 때문에 조심스럽게 사용하는 것이 좋습니다.

실수로 DELETE 절로 데이터를 날렸을 때에 대해서는 강좌 후반부에 설명드릴 데이터베이스 복원  보다 자세히 설명을 드리도록 하겠습니다.

 

DELETE 절에 대한 기본 구조는 아래와 같습니다.

 

 

DELETE FROM 테이블명

WHERE 조건 

 

 

간단한 예제로 한번 살펴보도록 하겠습니다.

 

 

 

1) Member 테이블의 모든 데이터를 삭제할 경우

 

 

DELETE FROM Member

 

 

 

 

2) Member 테이블에서 MemberAge   10 데이터를 삭제할 경우

    (모두 변경하기 때문에 WHERE 조건을 주지 않습니다.)

 

 

DELETE FROM Member

WHERE MemberAge = 10

  



감사합니다
.


[출처] SQLER.COM http://www.sqler.com/390124


SQL2011(코드명 Denali) 시리즈 강좌 리스트
[SQL2011강좌] 1. 코드명 Denali 설치 방법
[SQL2011강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011강좌] 4. DDL 1탄: 테이블 생성
[SQL2011강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011강좌] 6. Primary key와 Unique 제약조건
[SQL2011강좌] 7. DML 1탄 INSERT
[SQL2011강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011강좌] 9. Sequence
[SQL2011강좌] 10. pubs, northwind Database 예제 설치
[SQL2011강좌] 11. SELECT(단일 테이블)
[SQL2011강좌] 12. SELECT(JOIN)
[SQL2011강좌] 13. UPDATE, DELETE 절
[SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011강좌] 16. SubQuery(서브쿼리)
[SQL2011강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011강좌] 19. 인덱스에 대한 이해
[SQL2011강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011강좌] 21. 트랜잭션에 대한이해
[SQL2011강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011강좌] 23. 잠금에 대한 이해
[SQL2011강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011강좌] 25. 백업과 복구 전략
[SQL2011강좌] 26. 커서란?



SQL2011(코드명 Denali) 시리즈 동영상 강좌 리스트
[SQL2011 동영상 강좌] 1. 코드명 Denali 설치 방법
[SQL2011 동영상 강좌] 2. SSMS 접속 및 간단한 쿼리 실행
[SQL2011 동영상 강좌] 3. SQL Server 의 MDF, LDF 그리고 데이터베이스 생성하기
[SQL2011 동영상 강좌] 4. DDL 1탄: 테이블 생성
[SQL2011 동영상 강좌] 5. DDL 2탄: 쿼리를 이용한 테이블 컬럼 추가 및 삭제
[SQL2011 동영상 강좌] 6. Primary key와 Unique 제약조건
[SQL2011 동영상 강좌] 7. DML 1탄 INSERT
[SQL2011 동영상 강좌] 8. DML 1탄 INSERT(identity 속성)
[SQL2011 동영상 강좌] 9. Sequence
[SQL2011 동영상 강좌] 10. pubs, northwind Database 예제 설치
[SQL2011 동영상 강좌] 11. SELECT(단일 테이블)
[SQL2011 동영상 강좌] 12. SELECT(JOIN)
[SQL2011 동영상 강좌] 13. UPDATE, DELETE 절
[SQL2011 동영상 강좌] 14. DISTINCT, UNION, UNION ALL 키워드
[SQL2011 동영상 강좌] 15. ORDER BY, GROUP BY, HAVING
[SQL2011 동영상 강좌] 16. SubQuery(서브쿼리)
[SQL2011 동영상 강좌] 17. 뷰에 대한 이해 및 생성, 수정, 삭제
[SQL2011 동영상 강좌] 18. 저장 프로시저에 대한 이해, 생성, 수정, 삭제
[SQL2011 동영상 강좌] 19. 인덱스에 대한 이해
[SQL2011 동영상 강좌] 20. 클러스터드 인덱스와 넌 클러스터드 인덱스
[SQL2011 동영상 강좌] 21. 트랜잭션에 대한이해
[SQL2011 동영상 강좌] 22. 트랜잭션의 격리수준 4가지
[SQL2011 동영상 강좌] 23. 잠금에 대한 이해
[SQL2011 동영상 강좌] 24. 백업과 복구에 대한 이해(풀백업, 차등백업, 트랜잭션 로그 백업)
[SQL2011 동영상 강좌] 25. 백업과 복구 전략
[SQL2011 동영상 강좌] 26. 커서란?