跳至主要内容

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 │
└───────┴──────┘