Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Motor de tabla de SQLite

No es compatible con ClickHouse Cloud

El motor permite importar y exportar datos a SQLite y admite consultas directas a tablas de SQLite desde ClickHouse.

Crear una tabla

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

Parámetros del motor

Pasar una consulta en lugar del nombre de una tabla

En lugar del nombre de una tabla, el argumento table puede ser una consulta SELECT que se pasa a SQLite tal cual. La estructura de la tabla se infiere del resultado de la consulta. La consulta puede escribirse como una subconsulta o envolverse en la función 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'));

Dicha tabla es de solo lectura: no se permite hacer INSERT en ella. La misma sintaxis también es compatible con la función de tabla sqlite.

Compatibilidad con tipos de datos

Cuando se especifican explícitamente los tipos de columna de ClickHouse en la definición de la tabla, los siguientes tipos de ClickHouse se pueden interpretar a partir de columnas TEXT de SQLite:

Consulte motor de base de datos SQLite para ver la correspondencia de tipos predeterminada.

Ejemplo de uso

Muestra una consulta para crear la tabla en SQLite:

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

Devuelve los datos de la tabla:

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

Véase también

Navigation