Delete (SQL): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Badbread (토론 | 기여)
잔글 용어 수정, 스타일 적용
1번째 줄:
구조화 질의어([[SQL]])에서, '''DELETE''' 문은 [[테이블 (데이터베이스)|테이블]]에서 하나한개 이상의 레코드를행를 삭제합니다삭제한다. 하위 집합은 삭제에 대한 조건을 정의할 수 있으며, 정의하지 않으면 모든 레코드는행이 삭제됩니다삭제된다.<ref>{{cite web|url=http://www.w3schools.com/Sql/sql_delete.asp|title=SQL Delete 문|publisher=w3schools.com}}</ref>
 
==사용법==
<code>DELETE</code> 문은 다음 구문을 따른다:
 
<code>DELETE</code> 문은 다음 구문을 따른다:
 
:'''<code>DELETE</code>''' <code>FROM</code> ''테이블_이름'' ['''<code>WHERE</code>''' 조건]
 
[[Where (SQL)|<code>WHERE</code> 조건]]에 맞는 모든 행은 테이블에서 삭제됩니다. <code>WHERE</code> 절을 생략하면, 모든 행을 삭제합니다삭제한다. <ref>{{웹 인용|url=http://msdn.microsoft.com/ko-kr/library/ms189835.aspx|제목=DELETE(Transact-SQL) / SQL Server 2008 R2|확인날짜=2010-11-13}}</ref><code>DELETE</code>문은 어떤 행이라도 리턴하지 않으며, [[결과 집합]]을 발생시키지도 않습니다않는다.
 
<code>DELETE</code> 문을 실행하는 것은 다른 테이블을 삭제하게끔 실행하는 [[데이터베이스 트리거|트리거]]가 발생할 수 있습니다. 예를 들면, 두 테이블이 [[외래 키]]로 연결되어 있고 행이 참조된 테이블에서 삭제된다면, [[참조 무결성]]이 유지되도록 참조하고 있는 테이블에도 공통적으로 삭제됩니다삭제된다. {{참고|전파 상수}}
<!-- Todo: foreign keys, transactions, cascading -->
 
==예제==
* ''pies'' 테이블에서 ''flavour'' 열과 ''Lemon Meringue'' 열에서 행이 같으면 삭제합니다삭제한다:
<source lang="sql">
DELETE FROM pies WHERE flavour='Lemon Meringue';
</source>
* ''trees'' 테이블에서, ''height'' 값이 80보다 작으면 행을 삭제합니다삭제한다:
<source lang="sql">
DELETE FROM trees WHERE height < 80;
</source>
* ''mytable''에서 모든 행을 삭제합니다삭제한다:
<source lang="sql">
DELETE FROM mytable;
</source>
* ''mytable''에서 where 조건에 서브쿼리를 사용해 행을 삭제합니다삭제한다:
<source lang="sql">
DELETE FROM mytable WHERE id IN (SELECT id FROM mytable2)
</source>
* ''mytable''에서 값 목록을 사용하여 행을 삭제합니다삭제한다:
<source lang="sql">
DELETE FROM mytable WHERE id IN (value1, value2, value3, value4, value5)