ClickHouse/docs/ja/engines/database-engines/sqlite.md
2024-11-18 11:58:58 +09:00

2.8 KiB

slug sidebar_position sidebar_label
/ja/engines/database-engines/sqlite 55 SQLite

SQLite

SQLite データベースに接続し、ClickHouse と SQLite の間でデータを交換するために INSERTSELECT クエリを実行できます。

データベースの作成

    CREATE DATABASE sqlite_database
    ENGINE = SQLite('db_path')

エンジンパラメータ

  • db_path — SQLite データベースのファイルへのパス。

データ型のサポート

SQLite ClickHouse
INTEGER Int32
REAL Float32
TEXT String
BLOB String

特記および推奨事項

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