Denne artikel viser SQL'en DELETE syntaks, som implementeret af forskellige databasestyringssystemer (DBMS'er). Syntaksen er angivet nøjagtigt som hver leverandør har angivet den på deres hjemmeside. Klik på det relevante link for at se flere detaljer om syntaksen for en bestemt leverandør.
De dækkede DBMS'er er MySQL, SQL Server, PostgreSQL og Oracle Database.
MySQL
Fra MySQL 5.7 Reference Manual.
Enkeltbordssyntaks:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROMtbl_name[PARTITION (partition_name,...)] [WHEREwhere_condition] [ORDER BY ...] [LIMITrow_count]
Syntaks for flere tabeller:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition] Eller:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition] SQL-server
Fra Transact-SQL-referencen:
[ 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
Fra PostgreSQL 9.5-manualen:
[ 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-database
Fra Oracle Database Online Documentation 12c Udgivelse 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 } ] Om DELETE Erklæring
Den SLET sætningen sletter rækker, der opfylder WHERE klausul fra den angivne tabel. Hvis HVOR klausul er fraværende, alle rækker i tabellen slettes, hvilket efterlader tabellen tom.
Tip
TRUNCATE sætning (eller i tilfælde af SQL Server, TRUNCATE TABLE sætning ) ligner DELETE sætning uden WHERE klausul; dog TRUNCATE er hurtigere og bruger færre system- og transaktionslogressourcer.