.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "DELETE" "" "2004-06-19" "SQL - 言語" "SQL コマンド"
.SH NAME
DELETE \- テーブルから行を削除

.SH SYNOPSIS
.sp
.nf
DELETE FROM [ ONLY ] \fItable\fR [ WHERE \fIcondition\fR ]
.sp
.fi
.SH "説明"
.PP
\fBDELETE\fR は指定したテーブルから WHERE 句を満たす行を削除します。
WHEREがない場合、指定したテーブルの全ての行を削除することになります。
その結果は、存在するものの中身が空のテーブルになります。
.sp
.RS
.B "Tip:"
PostgreSQL の拡張である TRUNCATE [\fBtruncate\fR(l)] は、より高速に、テーブルから全ての行を削除する機構を提供します。
.RE
.sp
.PP
デフォルトで、\fBDELETE\fR は指定されたテーブル及びその全てのサブテーブルの行を削除します。
指定されたテーブルのみを削除したい場合は ONLY 句を使用して下さい。
.PP
テーブルから削除するためには、そのテーブルの DELETE 権限が必要です。
同様に、\fIcondition\fR において値を読み取るテーブルに対する SELECT 権限も必要です。
.SH "パラメータ"
.TP
\fB\fItable\fB\fR
既存のテーブル名です (スキーマ修飾名でも可)。
.TP
\fB\fIcondition\fB\fR
削除すべき行を決定する、\fBboolean\fR 型の値を返す値式です。
.SH "出力"
.PP
正常に終了した場合、\fBDELETE\fRコマンドは以下の形式のコマンドタグを返します。
.sp
.nf
DELETE \fIcount\fR
.sp
.fi
\fIcount\fRは削除した行数です。
\fIcount\fR が0 の場合、\fIcondition\fRを満たす行がなかったことを示します。
(これはエラーとはみなされません。)
.SH "例"
.PP
テーブル films から musical 以外を全て削除します。
.sp
.nf
DELETE FROM films WHERE kind <> 'Musical';
.sp
.fi
.PP
テーブル films を空にします。
.sp
.nf
DELETE FROM films;
.sp
.fi
.SH "互換性"
.PP
このコマンドは標準SQLに準拠しています。
