INSERT INTO
Warning
Currently, mixing column-oriented tables and row-oriented tables in a single transaction is supported only if the transaction performs read operations; no writes are allowed. Support for read-write transactions involving both table types is under development.
If a write transaction includes both types of tables, it fails with the following error: Write transactions that use both row-oriented and column-oriented tables are disabled at current time.
Adds rows to the table. If you try to insert a row into a table with an existing primary key value, the operation fails with the PRECONDITION_FAILED error code and the Operation aborted due to constraint violation: insert_pk message returned.
INSERT INTO lets you perform the following operations:
-
Adding constant values using
VALUES.INSERT INTO my_table (Key1, Key2, Value1, Value2) VALUES (345987,'ydb', 'Pied piper', 1414); COMMIT;INSERT INTO my_table (key, value) VALUES ("foo", 1), ("bar", 2); -
Saving the
SELECTresult.INSERT INTO my_table SELECT Key AS Key1, "Empty" AS Key2, Value AS Value1 FROM my_table1;
When working with external file data sources, you can specify additional parameters:
FORMAT— stored data format in file storage for federated queries. Allowed values:csv_with_names,tsv_with_names,json_list,json_each_row,json_as_string,parquet,raw.COMPRESSION— file compression in file storage for federated queries. Allowed values: gzip, zstd, lz4, brotli, bzip2, xz.PARTITIONED_BY— list of partition columns for data in file storage in federated queries. Lists columns in the order they appear in the file layout.projection.enabled— flag to enable extended data partitioning. Allowed values:true,false.projection.<field_name>.type— field type for extended data partitioning. Allowed values:integer,enum,date.projection.<field_name>.<options>— extended properties of a field for extended data partitioning.
Example
INSERT INTO `connection`.`test/`
WITH
(
FORMAT = "csv_with_names"
)
SELECT
"value" AS value, "name" AS name
Where:
connection— name of the connection to S3 (Yandex Object Storage).test/— path inside the bucket where data is written. Files are created with random names.