यह लेख SQL INSERT
. को सूचीबद्ध करता है सिंटैक्स, जैसा कि विभिन्न डेटाबेस प्रबंधन प्रणालियों (DBMS) द्वारा कार्यान्वित किया जाता है। सिंटैक्स को ठीक उसी तरह सूचीबद्ध किया गया है जैसे प्रत्येक विक्रेता ने इसे अपनी वेबसाइट पर सूचीबद्ध किया है। किसी विशेष विक्रेता के सिंटैक्स के बारे में अधिक विवरण देखने के लिए लागू लिंक पर क्लिक करें।
कवर किए गए DBMS में MySQL, SQL Server, PostgreSQL और Oracle डेटाबेस शामिल हैं।
MySQL
MySQL 5.7 संदर्भ मैनुअल से:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] [(col_name
,...)] {VALUES | VALUE} ({expr
| DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
या:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] SETcol_name
={expr
| DEFAULT}, ... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
या:
INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name
[PARTITION (partition_name
,...)] [(col_name
,...)] SELECT ... [ ON DUPLICATE KEY UPDATEcol_name
=expr
[,col_name
=expr
] ... ]
एसक्यूएल सर्वर
Transact-SQL संदर्भ से:
[ WITH <common_table_expression> [ ,...n ] ] INSERT { [ TOP ( expression ) [ PERCENT ] ] [ INTO ] { <object> | rowset_function_limited [ WITH ( <Table_Hint_Limited> [ ...n ] ) ] } { [ ( column_list ) ] [ <OUTPUT Clause> ] { VALUES ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ] | derived_table | execute_statement | <dml_table_source> | DEFAULT VALUES } } } [;]
<object> ::= { [ server_name . database_name . schema_name . | database_name .[ schema_name ] . | schema_name . ] table_or_view_name } <dml_table_source> ::= SELECT <select_list> FROM ( <dml_statement_with_output_clause> ) [AS] table_alias [ ( column_alias [ ,...n ] ) ] [ WHERE <search_condition> ] [ OPTION ( <query_hint> [ ,...n ] ) ] <column_definition> ::= column_name <data_type> [ COLLATE collation_name ] [ NULL | NOT NULL ] <data type> ::= [ type_schema_name . ] type_name [ ( precision [ , scale ] | max ]
-- External tool only syntax INSERT { [BULK] [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ] ( <column_definition> ) [ WITH ( [ [ , ] CHECK_CONSTRAINTS ] [ [ , ] FIRE_TRIGGERS ] [ [ , ] KEEP_NULLS ] [ [ , ] KILOBYTES_PER_BATCH = kilobytes_per_batch ] [ [ , ] ROWS_PER_BATCH = rows_per_batch ] [ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ] [ [ , ] TABLOCK ] ) ] } [; ]
PostgreSQL
PostgreSQL 9.5 मैनुअल से:
[ WITH [ RECURSIVE ] with_query [, ...] ] INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ] { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query } [ ON CONFLICT [ conflict_target ] conflict_action ] [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] where conflict_target can be one of: ( { index_column_name | ( index_expression ) } [ COLLATE collation ] [ opclass ] [, ...] ) [ WHERE index_predicate ] ON CONSTRAINT constraint_name and conflict_action is one of: DO NOTHING DO UPDATE SET { column_name = { expression | DEFAULT } | ( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) | ( column_name [, ...] ) = ( sub-SELECT ) } [, ...] [ WHERE condition ]
Oracle डेटाबेस
Oracle डेटाबेस ऑनलाइन दस्तावेज़ीकरण 12c . से रिलीज़ 1 (12.1):
INSERT [ hint ] { single_table_insert | multi_table_insert } ;
नीचे खंड और उनके घटक उप-खंडों का विवरण दिया गया है।
single_table_insert ::=
insert_into_clause { values_clause [ returning_clause ] | subquery } [ error_logging_clause ]
insert_into_clause ::=
INTO dml_table_expression_clause [ t_alias ] [ (column [, column ]...) ]
values_clause ::=
VALUES ({ expr | DEFAULT } [, { expr | DEFAULT } ]... )
रिटर्निंग_क्लॉज::=
{ RETURN | RETURNING } expr [, expr ]... INTO data_item [, data_item ]...
multi_table_insert ::=
{ ALL { insert_into_clause [ values_clause ] [error_logging_clause] }... | conditional_insert_clause } subquery
conditional_insert_clause ::=
[ ALL | FIRST ] WHEN condition THEN insert_into_clause [ values_clause ] [ error_logging_clause ] [ insert_into_clause [ values_clause ] [ error_logging_clause ] ]... [ WHEN condition THEN 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::=
{ [ 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) [ (+) ]
error_logging_clause ::=
LOG ERRORS [ INTO [schema.] table ] [ (simple_expression) ] [ REJECT LIMIT { integer | UNLIMITED } ]
INSERT . के बारे में कथन
INSERT कथन तालिका में नई पंक्तियाँ सम्मिलित करता है। आप मान अभिव्यक्तियों द्वारा निर्दिष्ट एक या अधिक पंक्तियों को सम्मिलित कर सकते हैं, या किसी क्वेरी के परिणामस्वरूप शून्य या अधिक पंक्तियाँ सम्मिलित कर सकते हैं।