Skip to main content

在ClickHouse中插入数据

你可以使用熟悉的INSERT INTO TABLE命令来插入数据,但是重要的是要理解,每次插入MergeTree表中的数据都会在存储中创建一个part。即使是一个简单的例子,让我们一次插入多行:

INSERT INTO helloworld.my_first_table (user_id, message, timestamp, metric) VALUES
(101, 'Hello, ClickHouse!', now(), -1.0 ),
(102, 'Insert a lot of rows per batch', yesterday(), 1.41421 ),
(102, 'Sort your data based on your commonly-used queries', today(), 2.718 ),
(101, 'Granules are the smallest chunks of data read', now() + 5, 3.14159 )
  • 注意timestamp列是使用各种DateDateTime函数填充的。ClickHouse有数百个有用的函数,您可以在Functions部分中查看。

让我们验证它是否有效-您应该看到插入的四行数据。

SELECT * FROM helloworld.my_first_table
需要帮助插入大型数据集吗?

如果您需要帮助插入大型数据集或在将数据导入ClickHouse Cloud时遇到任何错误,请通过support@clickhouse.com与我们联系,我们可以提供帮助。

插入大批量数据

一次插入大量的行-一次插入数万甚至数百万行。批量插入优化了插入性能。别担心-ClickHouse可以轻松处理这种类型的数据量!

tip

如果您无法一次插入大量行,并且使用的是HTTP客户端,请使用async_insert设置,它会在将较小的插入批量插入到表之前对其进行批处理。

与ClickHouse集成

无论您的数据位于何处,都可能有一个表函数、表引擎或其他类型的工具可用于将数据插入ClickHouse。查看我们的集成页面以获取更多详细信息。