sql >> Database >  >> RDS >> Mysql

SQL DELETE-syntaxis - weergegeven door DBMS

Dit artikel bevat de SQL DELETE syntaxis, zoals geïmplementeerd door verschillende databasebeheersystemen (DBMS'en). De syntaxis wordt precies weergegeven zoals elke leverancier deze op hun website heeft vermeld. Klik op de toepasselijke link om meer details over de syntaxis voor een bepaalde leverancier te bekijken.

De gedekte DBMS'en zijn MySQL, SQL Server, PostgreSQL en Oracle Database.

MySQL

Uit de MySQL 5.7 Reference Manual.

Syntaxis voor één tabel:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
    [PARTITION (partition_name,...)]
    [WHERE where_condition]
    [ORDER BY ...]
    [LIMIT row_count]

Syntaxis voor meerdere tabellen:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*]] ...
    FROM table_references
    [WHERE where_condition]

Of:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*]] ...
    USING table_references
    [WHERE where_condition]

SQL-server

Uit de Transact-SQL-referentie:

[ 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

Uit de PostgreSQL 9.5-handleiding:

[ 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

Uit de Oracle Database Online Documentation 12c Release 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 } ]

Over de DELETE Verklaring

De DELETE statement is een DML-instructie (Data Manipulation Language) waarmee de opgegeven rijen uit een tabel worden verwijderd.

De VERWIJDEREN instructie verwijdert rijen die voldoen aan de WHERE clausule uit de opgegeven tabel. Als de WAAR clausule ontbreekt, worden alle rijen in de tabel verwijderd, waardoor de tabel leeg blijft.

Tip

De TRUNCATE statement (of in het geval van SQL Server, de TRUNCATE TABLE statement ) is vergelijkbaar met de DELETE verklaring zonder WHERE clausule; echter, TRUNCATE is sneller en gebruikt minder systeem- en transactielogboekbronnen.


  1. Kopieer gegevens naar een nieuwe tabel in MySQL

  2. nodejs mysql Fout:Verbinding verbroken De server heeft de verbinding verbroken

  3. MySQL LEAST()-functie - Vind het kleinste argument in een lijst met argumenten

  4. .nextval JDBC invoegprobleem