huaxingao commented on a change in pull request #25525: [SPARK-28786][DOC][SQL]Document INSERT statement in SQL Reference URL: https://github.com/apache/spark/pull/25525#discussion_r318326776
########## File path: docs/sql-ref-syntax-dml-insert-into.md ########## @@ -0,0 +1,199 @@ +--- +layout: global +title: INSERT INTO +displayTitle: INSERT INTO +license: | + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--- + +### Description + +The `INSERT INTO` statement inserts new rows into a table. The inserted rows can be specified by value expressions or result from a query. + +See also: + * [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html) + * [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html) + * [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html) + + +### Syntax +{% highlight sql %} +INSERT INTO [ TABLE ] table_name + [ PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] ) ] + { { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] } | query } +{% endhighlight %} + +### Parameters +#### ***table_name***: +The name of an existing table. + +#### ***PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )***: +Specifies one or more partition column and value pairs. The partition value is optional. + +#### ***VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ]***: +Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted. A comma must be used to seperate each value in the clause. More than one set of values can be specified to insert multiple rows. + +#### ***query***: +A query that produces the rows to be inserted. It can be in one of following formats: +- a `SELECT` statement +- a table +- a `FROM` statement + +### Examples +#### Single Row Insert Using a VALUES Clause +{% highlight sql %} + CREATE TABLE students (Name VARCHAR(64), Address VARCHAR(64), StudentID INT) Review comment: Yes, we should terminate with a semi colon. I checked several other SQL reference, all of the example SQLs end with a semi colon. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org