Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Moteur de table SQLite

Non pris en charge par ClickHouse Cloud

Le moteur permet d’importer et d’exporter des données vers SQLite et prend en charge les requêtes sur des tables SQLite directement depuis ClickHouse.

Créer une table

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

Paramètres du moteur

  • db_path — Chemin vers le fichier SQLite contenant une base de données.
  • table — Nom d’une table de la base de données SQLite, ou requête transmise telle quelle à SQLite (voir Passer une requête au lieu d’un nom de table).

Passer une requête au lieu d’un nom de table

Au lieu d’un nom de table, l’argument table peut être une requête SELECT transmise telle quelle à SQLite. La structure de la table est inférée à partir du résultat de la requête. La requête peut être écrite soit sous forme de sous-requête, soit encapsulée dans la fonction 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'));

Une telle table est en lecture seule : les opérations INSERT n'y sont pas autorisées. La même syntaxe est prise en charge par la fonction de table sqlite.

Prise en charge des types de données

Lorsque vous spécifiez explicitement les types de colonnes ClickHouse dans la définition de la table, les types ClickHouse suivants peuvent être interprétés à partir de colonnes TEXT SQLite :

Consultez le moteur de base de données SQLite pour la correspondance de types par défaut.

Exemple d'utilisation

Affiche une requête qui crée la table SQLite :

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

Renvoie les données contenues dans la table :

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

Voir aussi

Navigation