clickhouse 中 insert into 怎么使用
时间: 2024-12-10 08:51:31 浏览: 13
ClickHouse 是一种列式数据库管理系统,它支持快速的数据处理和分析。在 ClickHouse 中,`INSERT INTO` 语句用于向现有的表中插入新的行数据。基本语法如下:
```sql
INSERT INTO [database.]table_name [(column1, column2, ...)]
VALUES (value1, value2, ...)
[ON CONFLICT REPLACE | UPDATE columns SET ...];
```
- `database.table_name`: 要插入数据的目标表名,如果省略 database,则默认使用当前工作库。
- `(column1, column2, ...)`: 可选的,指定要插入值的列,如果没有列出所有列,可以只提供部分列,其他列会填充 NULL。
- `VALUES (value1, value2, ... )`: 插入的具体值,每个值对应一个列。
- `ON CONFLICT REPLACE|UPDATE columns SET ...`: 可选,当有冲突时(如唯一索引违反),可以选择替换已有行(REPLACE)或更新特定列(UPDATE)。
例如,如果你有一个名为 `sales` 的表,你可以这样插入数据:
```sql
INSERT INTO sales (product_id, price, date)
VALUES (1, 99.99, '2023-01-01')
ON CONFLICT (product_id) DO UPDATE SET price = EXCLUDED.price;
```
这将会在 `product_id` 已存在的地方更新价格,如果不存在则添加新行。
阅读全文