跳到主要内容
跳到主要内容

SQLite

用于连接 SQLite 数据库,并执行 INSERTSELECT 查询,以在 ClickHouse 与 SQLite 之间交换数据。

创建数据库

    CREATE DATABASE sqlite_database
    ENGINE = SQLite('db_path')

引擎参数

  • db_path — SQLite 数据库文件路径。

支持的数据类型

SQLiteClickHouse
INTEGERInt32
REALFloat32
TEXTString
BLOBString

细节与建议

SQLite 将整个数据库(定义、表、索引以及数据本身)作为一个单一的跨平台文件存储在主机上。写入期间,SQLite 会锁定整个数据库文件,因此写操作是顺序执行的,而读操作可以并发处理。 SQLite 不需要服务管理(例如启动脚本)或基于 GRANT 和密码的访问控制。访问控制是通过为数据库文件本身设置文件系统权限来实现的。

使用示例

ClickHouse 中连接到 SQLite 的数据库:

CREATE DATABASE sqlite_db ENGINE = SQLite('sqlite.db');
SHOW TABLES FROM sqlite_db;
┌──name───┐
│ table1  │
│ table2  │
└─────────┘

显示表:

SELECT * FROM sqlite_db.table1;
┌─col1──┬─col2─┐
│ line1 │    1 │
│ line2 │    2 │
│ line3 │    3 │
└───────┴──────┘

将 ClickHouse 表中的数据插入 SQLite 表:

CREATE TABLE clickhouse_table(`col1` String,`col2` Int16) ENGINE = MergeTree() ORDER BY col2;
INSERT INTO clickhouse_table VALUES ('text',10);
INSERT INTO sqlite_db.table1 SELECT * FROM clickhouse_table;
SELECT * FROM sqlite_db.table1;
┌─col1──┬─col2─┐
│ line1 │    1 │
│ line2 │    2 │
│ line3 │    3 │
│ text  │   10 │
└───────┴──────┘