이 내용은 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. 커서란?
'프로그램&DB > MS-SQL' 카테고리의 다른 글
[MS-SQL2011강좌] 15. ORDER BY, GROUP BY, HAVING by 강동운님 (0) | 2011.08.23 |
---|---|
[MS-SQL2011강좌] 14. DISTINCT, UNION, UNION ALL 키워드 by 강동운님 (0) | 2011.08.23 |
[MS-SQL2011강좌] 12. SELECT(JOIN) by 강동운님 (0) | 2011.08.23 |
[MS-SQL2011강좌] 11. SELECT(단일 테이블) by 강동운님 (0) | 2011.08.23 |
[MS-SQL2011강좌] 10. pubs, northwind Database 예제 설치 by 강동운님 (0) | 2011.08.23 |