Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Движок таблицы SQLite

Не поддерживается в ClickHouse Cloud

Движок позволяет импортировать данные из SQLite и экспортировать их в SQLite, а также выполнять запросы к таблицам SQLite напрямую из ClickHouse.

Создание таблицы

    CREATE TABLE [IF NOT EXISTS] [db.]table_name
    (
        name1 [type1],
        name2 [type2], ...
    ) ENGINE = SQLite('db_path', 'table')

Параметры движка

Передача запроса вместо имени таблицы

Вместо имени таблицы в качестве аргумента table можно указать SELECT-запрос, который передаётся в SQLite как есть. Структура таблицы определяется по результату запроса. Запрос можно записать либо как подзапрос, либо обернуть в функцию query:

CREATE TABLE sqlite_table ENGINE = SQLite('sqlite.db', (SELECT col1, col2 FROM table1 WHERE col2 > 1));
CREATE TABLE sqlite_table ENGINE = SQLite('sqlite.db', query('SELECT col1, col2 FROM table1 WHERE col2 > 1'));

Такая таблица доступна только для чтения: операция INSERT в неё запрещена. Тот же синтаксис поддерживается табличной функцией sqlite.

Поддержка типов данных

Если в определении таблицы явно указать типы столбцов ClickHouse, из столбцов SQLite TEXT можно разобрать следующие типы ClickHouse:

Сопоставление типов по умолчанию см. в разделе движок базы данных SQLite.

Пример использования

Показан запрос на создание таблицы SQLite:

SHOW CREATE TABLE sqlite_db.table2;
CREATE TABLE SQLite.table2
(
    `col1` Nullable(Int32),
    `col2` Nullable(String)
)
ENGINE = SQLite('sqlite.db','table2');

Возвращает данные из таблицы:

SELECT * FROM sqlite_db.table2 ORDER BY col1;
┌─col1─┬─col2──┐
│    1 │ text1 │
│    2 │ text2 │
│    3 │ text3 │
└──────┴───────┘

См. также

  • SQLite движок
  • sqlite табличная функция
Navigation