この記事では、SQLのDELETEを一覧表示します さまざまなデータベース管理システム(DBMS)によって実装される構文。構文は、各ベンダーがWebサイトにリストしているとおりに正確にリストされています。特定のベンダーの構文の詳細を表示するには、該当するリンクをクリックしてください。
対象となるDBMSは、MySQL、SQL Server、PostgreSQL、およびOracleデータベースです。
MySQL
MySQL5.7リファレンスマニュアルから。
単一テーブル構文:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROMtbl_name[PARTITION (partition_name,...)] [WHEREwhere_condition] [ORDER BY ...] [LIMITrow_count]
複数テーブルの構文:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition] または:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition] SQL Server
Transact-SQLリファレンスから:
[ WITH <common_table_expression> [ ,...n ] ]
DELETE
[ TOP ( expression ) [ PERCENT ] ]
[ FROM ]
{ { table_alias
| <object>
| rowset_function_limited
[ WITH ( table_hint_limited [ ...n ] ) ] }
| @table_variable
}
[ <OUTPUT Clause> ]
[ FROM table_source [ ,...n ] ]
[ WHERE { <search_condition>
| { [ CURRENT OF
{ { [ GLOBAL ] cursor_name }
| cursor_variable_name
}
]
}
}
]
[ OPTION ( <Query Hint> [ ,...n ] ) ]
[; ]
<object> ::=
{
[ server_name.database_name.schema_name.
| database_name. [ schema_name ] .
| schema_name.
]
table_or_view_name
} PostgreSQL
PostgreSQL 9.5マニュアルから:
[ WITH [ RECURSIVE ] with_query [, ...] ]
DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
[ USING using_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] Oracleデータベース
Oracle Database Online Documentation 12 cから リリース1(12.1):
DELETE [ hint ]
[ FROM ]
{ dml_table_expression_clause
| ONLY (dml_table_expression_clause)
} [ t_alias ]
[ where_clause ]
[ returning_clause ]
[error_logging_clause]; DML_table_expression_clause ::=
{ [ schema. ]
{ table
[ partition_extension_clause
| @ dblink
]
| { view | materialized view } [ @ dblink ]
}
| ( subquery [ subquery_restriction_clause ] )
| table_collection_expression
} partition_extension_clause ::=
{ PARTITION (partition)
| PARTITION FOR (partition_key_value [, partition_key_value]...)
| SUBPARTITION (subpartition)
| SUBPARTITION FOR (subpartition_key_value [, subpartition_key_value]...)
} subquery_restriction_clause ::=
WITH { READ ONLY
| CHECK OPTION
} [ CONSTRAINT constraint ] table_collection_expression ::=
TABLE (collection_expression) [ (+) ]
where_clause ::=
WHERE condition
returning_clause ::=
{ RETURN | RETURNING } expr [, expr ]...
INTO data_item [, data_item ]... error_logging_clause ::=
LOG ERRORS
[ INTO [schema.] table ]
[ (simple_expression) ]
[ REJECT LIMIT { integer | UNLIMITED } ] DELETEについて ステートメント
DELETE ステートメントは、指定された行をテーブルから削除するデータ操作言語(DML)ステートメントです。
ヒント
TRUNCATE ステートメント(またはSQL Serverの場合は、TRUNCATE TABLE ステートメント)は、DELETEに似ています WHEREのないステートメント 句;ただし、TRUNCATE より高速で、使用するシステムおよびトランザクションログリソースが少なくなります。