Skip to main content
该引擎支持将数据导入到 SQLite 和从 SQLite 导出数据,也支持直接从 ClickHouse 查询 SQLite 表。

创建表

引擎参数
  • db_path — SQLite 数据库文件的路径。
  • table — SQLite 数据库中的表名,或原样传递给 SQLite 的查询 (请参见传递查询而非表名) 。

传入查询而非表名

table 参数不一定非得是表名,也可以是一个原样传递给 SQLite 的 SELECT 查询。表的结构将根据查询结果自动推断。该查询既可以写成子查询,也可以封装在 query 函数中:
这样的表是只读的:不允许向其中执行 INSERTsqlite 表函数也支持相同的语法。
子查询形式 (SELECT ...) 会先由 ClickHouse 解析并重新序列化,再发送给 SQLite。因此,它必须是有效的 ClickHouse SQL。若要传递 ClickHouse 无法解析的 SQLite 特有语法,请使用 query('...') 形式,其文本会原样发送给 SQLite。周围 ClickHouse 查询中的任何外层 WHERELIMIT、聚合等都不会下推到传入的查询中——而是会在拉取完整查询结果后由 ClickHouse 应用。若要限制从 SQLite 读取的数据,请将过滤条件放在传入的查询内部。启用 external_table_strict_query = 1 时,无法下推的外层过滤条件会直接报错拒绝,而不是在本地应用。

数据类型支持

当在表定义中显式指定 ClickHouse 列类型时,可从 SQLite 的 TEXT 列中解析出以下 ClickHouse 类型: 有关默认类型映射,请参见 SQLite database engine

使用示例

显示创建 SQLite 表的查询:
返回该表中的数据:
另请参见
最后修改于 2026年7月24日