Mysql
 sql >> база данни >  >> RDS >> Mysql

Синтаксис на SQL INSERT – изброен от СУБД

Тази статия изброява SQL INSERT синтаксис, както се изпълнява от различни системи за управление на бази данни (СУБД). Синтаксисът е посочен точно както всеки доставчик го е посочил на своя уебсайт. Щракнете върху приложимата връзка, за да видите повече подробности за синтаксиса за конкретен доставчик.

Обхванатите СУБД са MySQL, SQL Server, PostgreSQL и Oracle Database.

MySQL

От Справочното ръководство за MySQL 5.7:

<предварително ВЪВЕТЕ [НИСък_ПРИОРИТЕТ | ОТЛОЖЕНО | HIGH_PRIORITY] [ИГНОРИ] [INTO] tbl_name [PARTITION (partition_name ,...)] [(col_name). ,...)] {СТОЙНОСТИ | VALUE} ({expr | ПО ПОДРАЗБИРАНЕ},...),(...),... [ ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИКАТ КЛЮЧ col_name =expr [, col_name =expr ] ... ]

Или:

<предварително ВЪВЕТЕ [НИСък_ПРИОРИТЕТ | ОТЛОЖЕНО | HIGH_PRIORITY] [ИГНОРИ] [INTO] tbl_name [PARTITION (partition_name ,...)] SET col_name ={expr | ПО ПОДРАЗБИРАНЕ}, ... [ ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ col_name =expr [, col_name =expr ] ... ]

Или:

<предварително ВЪВЕТЕ [НИСък_ПРИОРИТЕТ | HIGH_PRIORITY] [ИГНОРИ] [INTO] tbl_name [PARTITION (partition_name ,...)] [(col_name). ,...)] ИЗБЕРЕТЕ ... [ ПРИ АКТУАЛИЗИРАНЕ НА ДУПЛИКАТ КЛЮЧ col_name =expr [, col_name =expr ] ... ]

SQL сървър

От справочника за Transact-SQL:

[ WITH  [ ,...n ] ]INSERT {        [ TOP ( израз ) [ PERCENT ] ]         [ INTO ]         { <обект> | rowset_function_limited           [ WITH (  [ ...n ] ) ]             {        [ ( column_list ) ]          [  ] , {FA DE Expression []    ] .n     ]         | derived_table         | execute_statement        |         | СТОЙНОСТИ ПО ПОДРАЗБИРАНЕ             }}[;]

 ::={     [ име на_сървър . име на база данни . schema_name . | име на база данни .[ име_ на схема ] . | schema_name . ] Table_or_view_name}  ::=SELECT  от () [AS] table_alias [(column_alias [, ... n]]] [къде ] [опция ( [,. ..n ] ) ]<дефиниция_колона> ::=име на колона <тип_данни> [ COLLATE име на сравняване] [ NULL | NOT NULL ]<тип данни> ::=[име_на_тип_схема. ] име_на тип [ ( прецизност [ , мащаб ] | макс ] 

-- Синтаксис само за външен инструмент INSERT {    [BULK]    [ database_name . [име_на_схема]. | schema_name . ]    [ table_name | view_name] () [с [[[,] check_constraints] [[,] fire_triggers] [[,] keep_nulls] [[,] kilobytes_per_batch =kilobytes_per_batch] [[,] rows_per_batch =rows_per_batch] { колона [ ASC | DESC ] } [ ,...n ] ) ]        [ [ , ] TABLOCK ]    ) ]}[; ]

PostgreSQL

От ръководството за PostgreSQL 9.5:

[ С [ РЕКУРСИВНО ] with_query [, ...] ]INSERT INTO table_name [ КАТО псевдоним ] [ ( име_на_колона [, ...] ) ] { СТОЙНОСТИ ПО ПОДРАЗБИРАНЕ | СТОЙНОСТИ ( { израз | ПО ПОДРАЗБИРАНЕ } [, ...] ) [, ...] | заявка } [ ПРИ КОНФЛИКТ [ conflict_target ] конфликтно_действие ] [ ВРЪЩАНЕ * | изходен_израз [ [ AS ] име_на_изход ] [, ...] ]където conflict_target може да бъде едно от:( { index_column_name | ( индекс_израз ) } [ COLLATE колекция ] [ opclass ] [, ...] ) [ WHERE index_predicate ] ЗА ОГРАНИЧЕНИЕ име_на_ограничение и конфликтно_действие е едно от:ДА НИЩО НЕ ДА АКТУАЛИЗИРАТЕ SET { име_на_колона ={ израз | ПО ПОДРАЗБИРАНЕ } | ( име_на_колона [, ...] ) =( { израз | ПО ПОДРАЗБИРАНЕ } [, ...] ) | ( име_на_колона [, ...] ) =( подизбиране ) } [, ...] [ WHERE условие ]

База данни на Oracle

От Oracle Database Online Documentation 12c Издание 1 (12.1):

INSERT [ намек ] { single_table_insert | multi_table_insert };

По-долу е описание на клаузите и техните съставни подклаузи.

вмъкване на единична_таблица ::=

insert_into_clause{ values_clause [ returning_clause ]| подзаявка } [ error_logging_clause ]

insert_into_clause ::=

INTO dml_table_expression_clause [ t_alias ][ (колона [, колона ]...) ]

клауза_стойности ::=

СТОЙНОСТИ ({ expr | ПО ПОДРАЗБИРАНЕ } [, { израз | ПО ПОДРАЗБИРАНЕ } ]... )

клауза за връщане::=

{ ВРЪЩАНЕ | ВЪРНАНЕ } expr [, expr ]...INTO елемент_данни [, елемент_данни ]...

multi_table_insert ::=

{ ВСИЧКИ { insert_into_clause [ values_clause ] [error_logging_clause] }...| conditional_insert_clause} подзаявка

условна_клауза_вставка ::=

[ ВСИЧКИ | ПЪРВО ]КОГА условиеТОГАВА insert_into_clause [ values_clause ] [ error_logging_clause ] [ insert_into_clause [ values_clause ] [ error_logging_clause ] ]...[ КОГА условие ТОГАВА insert_into_clause [ values_clause ] [ error_logging_clause ] [ insert_into_clause [ values_clause ] [ error_logging_clause ] ]...]...[ ELSE insert_into_clause [ values_clause ] [ error_logging_clause ] [ insert_into_clause [ values_clause ] [ error_logging_clause ] ]...]

DML_table_expression_clause::=

{ [ схема. ] { таблица [ клауза_разширение_раздел | @ dblink ] | { преглед | материализиран изглед } [ @ dblink ] }| ( подзаявка [ клауза_ограничение на подзаявка ] )| израз_колекция_таблица}

клауза_разширение_раздел::=

{ PARTITION (раздел)| ДЯЛ ЗА (стойност_на_ключ_на_партиция [, стойност_на_ключ_на_партиция]...)| ПОДДЯЛ (подраздел)| ПОДраздел ЗА (стойност на ключ_подраздел [, стойност_на_ключ_подраздел]...)}

clause_subquery_restriction_clause::=

С { САМО ЧЕТЕНЕ | ПРОВЕРИ ОПЦИЯ } [ ОГРАНИЧЕНИЕ ограничение ]

израз за_колекция_таблица ::=

ТАБЛИЦА (израз на_колекция) [ (+) ]

клауза_за_регистриране на грешка ::=

ГРЕШКИ В РЕГИСТРАЦИЯ [ INTO [схема.] таблица ] [ (прост_израз) ] [ ОГРАНИЧЕН ОТХВЪРЛЯНЕ { цяло число | НЕОГРАНИЧЕН } ]

Относно INSERT Изявление

 INSERT оператор вмъква нови редове в таблица. Можете да вмъкнете един или повече реда, посочени от изрази за стойности, или нула или повече реда, получени от заявка.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL с Node.js

  2. Може ли JavaScript да се свърже с MySQL?

  3. Как да добавя функция levenshtein в mysql?

  4. Как да импортирате база данни с помощта на phpMyAdmin

  5. Какво прави DELIMITER // в тригер?