INSERT
INSERT
用于将一条或多条记录插入到 GreptimeDB 中的表中。
INSERT INTO
Statement
Syntax
INSERT INTO
语法如下:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
在上述语法中,table_name
是要插入数据的表名,column1
、column2
、column3
等是表中的列名。
如果你想要插入数据到指定的列中,可以在 INSERT INTO
语句中指定列名。
如果你不指定列名,数据将会插入到表中的所有列中。
VALUES
关键字后面跟着的是一个值列表,这个值列表的顺序必须和 INSERT INTO
语句中的列顺序一致。
VALUES 值支持以下数据类型:
DEFAULT
关键字指定该列的默认值。 这在你不想在插入记录时显式指定某些列的值时非常有用。 它允许使用表 schema 中定义的列默认值来替代需要显示指定的值。 如果该列没有定义默认值,将会使用数据库的默认值(通常是 NULL)。- 使用十六进制字面值插入二进制字面值。
- 使用
{Value}::{Type}
语法将特殊的数值Infinity
、-Infinity
和NaN
转换为指定的数值类型。
示例
插入数据
使用 INSERT INTO
语句将一条记录插入到名为 system_metrics
的表中:
INSERT INTO system_metrics (host, idc, cpu_util, memory_util, disk_util, ts)
VALUES
("host1", "idc_b", 50.0, 66.7, 40.6, 1667446797462);
上述语句将一条记录插入到 system_metrics
表中,该记录的 host 为 "host1",idc 为 "idc_b",cpu_util 为 50.0,memory_util 为 66.7,
你还可以使用 INSERT INTO
语句一次向表中插入多条记录,例如向 system_metrics
表中插入多条记录:
INSERT INTO system_metrics (host, idc, cpu_util, memory_util, disk_util, ts)
VALUES
("host1", "idc_a", 11.8, 10.3, 10.3, 1667446797460),
("host2", "idc_a", 80.1, 70.3, 90.0, 1667446797461),
("host1", "idc_c", 50.1, 66.8, 40.8, 1667446797463);
此语句将三条记录插入到 system_metrics
表中,每列都有指定的值。
使用默认值插入数据
下面的 SQL 语句使用 DEFAULT
关键字为 cpu_util
列插入默认值:
INSERT INTO system_metrics (host, idc, cpu_util, memory_util, disk_util, ts)
VALUES ("host1", "idc_a", DEFAULT, 10.3, 10.3, 1667446797460);