Este artigo lista o SQL
DELETE sintaxe, conforme implementado por vários sistemas de gerenciamento de banco de dados (DBMSs). A sintaxe é listada exatamente como cada fornecedor a listou em seu site. Clique no link aplicável para ver mais detalhes sobre a sintaxe de um determinado fornecedor. Os SGBDs cobertos são MySQL, SQL Server, PostgreSQL e Banco de Dados Oracle.
MySQL
Do Manual de Referência do MySQL 5.7.
Sintaxe de tabela única:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROMtbl_name[PARTITION (partition_name,...)] [WHEREwhere_condition] [ORDER BY ...] [LIMITrow_count]
Sintaxe de várias tabelas:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition] Ou:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition] SQL Server
Da referência 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
Do Manual do 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 ] [, ...] ] Banco de dados Oracle
Da documentação on-line do banco de dados Oracle 12c Versão 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 } ] Sobre o DELETE Declaração
O
DELETE é uma instrução de linguagem de manipulação de dados (DML) que remove as linhas especificadas de uma tabela. O EXCLUIR A instrução exclui linhas que atendem ao WHERE cláusula da tabela especificada. Se o ONDE estiver ausente, todas as linhas da tabela serão excluídas, deixando a tabela vazia.
Dica
O
TRUNCATE instrução (ou no caso do SQL Server, o TRUNCATE TABLE instrução ) é semelhante ao DELETE declaração sem WHERE cláusula; no entanto, TRUNCATE é mais rápido e usa menos recursos do sistema e do log de transações.