데이터의 삽입, 삭제, 수정 - 3. DELETE를 이용한 행 삭제

2012. 4. 24. 10:59Course/MS-SQL

반응형

출처 : http://www.sqler.com/126745


웃챠~~~ 이번에 소개해 드릴 내용은? DELETE를 사용한 행데이터.. 즉, 로우의 삭제 입니다.

UPDATE보다 더 단순 하니 걱정은 안하셔도 되실 겁니다.

먼저 샘플을 봐 보시지요.

 

 

SELECT * FROM authors

DELETE FROM authors
WHERE au_lname = 'McBadden'

 

먼저 데이터를 authors 테이블에서 조회해 봅니다...

글구나서 DELETE를 하는 것이지요..

바로.. au_lname이 McBadden 인 녀석만 골라서 지우지요.. 이해가 되시지요?

 

테이블 전체의 데이터를 지우고 싶으시다면?

 

SELECT * FROM authors

DELETE FROM authors

 

이렇게 WHERE절을 빼 버리면? authors 테이블 전체의 데이터가 지워 지겠지요.

주의 하셔야 합니다.

 

다음은? 실제로 많이 쓰이는 SELECT를 먼저 한후 결과셋만 지우는 방식 입니다.

다른테이블의 참조를 통한 삭제라고도 하지요.

 

이 방식이 많이 쓰이니 잘 알아두심 도움 되실 겁니다.

 

/* SQL-92-표준 쿼리 */

USE pubs
DELETE FROM titleauthor
WHERE title_id IN 
(SELECT title_id 
FROM titles
WHERE title LIKE '%computers%')

/*T-SQL 쿼리*/
USE pubs
DELETE titleauthor
FROM titleauthor INNER JOIN titles 
ON titleauthor.title_id = titles.title_id
WHERE titles.title LIKE '%computers%'

 

물론 두가지 방법 중에서 위쪽의 ANSI 표준을 사용하시길 적극 권장합니다.

 

이제 제가 알려드릴 내용은 다 알려 드렸네요. ^_^

이제 구문 정보 입니다.

 

DELETE

테이블로부터 하나 이상의 행을 삭제

        DELETE [FROM] table_name

                [FROM table_name]

                [WHERE search_conditions]

        - WHERE

                - 삭제할 행을 결정한다.

                - 생략할 경우에는 모든 행을 삭제한다.

        - FROM

                - 다른 테이블의 데이터를 참조하여 삭제할 행을 선택할 수 있다.

                - 부질의를 사용하는 것과 같은 역할을 한다.

 

자 수고 하셨습니다.

다음은 테이블의 모든 데이터를 날려 버리는.. TRUNCATE TABLE  입니다.

 

3. DELETE를 이용한 행 삭제 - 문서의 끝입니다.

반응형

'Course > MS-SQL' 카테고리의 다른 글

MSSQL CONVERT 시 varchar 잘림 문제  (0) 2016.06.23
text 형식의 필드 검색 방법  (0) 2016.06.22
[MS-SQL] 암호화 (SHA1, MD5, ...)  (0) 2016.01.22
[MSSQL] IDENTITY값 초기화  (0) 2014.03.12
MS-SQL 테이블 복사  (1) 2012.06.28