Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Składnia SQL DELETE – wymieniona przez DBMS

W tym artykule wymieniono kod SQL DELETE składnia, zaimplementowana przez różne systemy zarządzania bazami danych (DBMS). Składnia jest podana dokładnie tak, jak każdy dostawca podał ją na swojej stronie internetowej. Kliknij odpowiedni link, aby wyświetlić więcej szczegółów na temat składni konkretnego dostawcy.

Omówione DBMS to MySQL, SQL Server, PostgreSQL i Oracle Database.

MySQL

Z podręcznika MySQL 5.7 Reference Manual.

Składnia jednotabelowa:

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

Składnia wielotabelowa:

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

Lub:

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

Serwer SQL

Z dokumentacji 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

Z podręcznika 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 ] [, ...] ]

Baza danych Oracle

Z dokumentacji online bazy danych Oracle 12c Wydanie 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 } ]

Informacje o DELETE Oświadczenie

DELETE instrukcja to instrukcja języka manipulacji danymi (DML), która usuwa określone wiersze z tabeli.

USUŃ instrukcja usuwa wiersze, które spełniają GDZIE klauzula z określonej tabeli. Jeśli GDZIE brak klauzuli, wszystkie wiersze w tabeli zostaną usunięte, pozostawiając tabelę pustą.

Wskazówka

TRUNCATE instrukcja (lub w przypadku SQL Server, TRUNCATE TABLE oświadczenie ) jest podobne do DELETE oświadczenie bez WHERE klauzula; jednak TRUNCATE jest szybszy i zużywa mniej zasobów systemowych i dzienników transakcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę zmienić domyślny limit czasu połączenia Mysql podczas łączenia się przez Pythona?

  2. Różnice między bazami danych SQL i NoSQL — porównanie MySQL i MongoDB

  3. Jak wykonać kopię zapasową zaszyfrowanej bazy danych za pomocą serwera Percona Server dla MySQL 8.0?

  4. MySQL:Widok z podzapytanie w Ograniczeniu klauzuli FROM

  5. Proste rozwiązywanie problemów z logowaniem PHP SQL