Syntaxe
Arguments
db_path— Chemin d’accès à un fichier contenant une base de données SQLite. String.table_name— Nom d’une table de la base de données SQLite, ou d’une requête transmise à SQLite telle quelle (voir Transmettre une requête au lieu d’un nom de table). String.
Valeur renvoyée
- Un objet de table avec les mêmes colonnes que la table
SQLited’origine.
Passer une requête au lieu d’un nom de table
SELECT transmise telle quelle à SQLite. La structure de la table obtenue est déduite 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 :
INSERT n’y est pas autorisé. La même syntaxe est prise en charge par le moteur de table SQLite.
La forme de sous-requête
(SELECT ...) est analysée par ClickHouse, puis re-sérialisée avant d’être envoyée à SQLite. Elle doit donc être valide en ClickHouse SQL. Pour transmettre une syntaxe propre à SQLite que ClickHouse n’analyse pas, utilisez la forme query('...'), dont le texte est envoyé tel quel à SQLite.Les clauses externes WHERE, LIMIT, les agrégations, etc., de la requête ClickHouse englobante ne sont pas répercutées dans la requête transmise — elles sont appliquées dans ClickHouse après la récupération du résultat complet de la requête. Pour limiter les données lues depuis SQLite, placez le filtre dans la requête transmise. Avec external_table_strict_query = 1, un filtre externe qui ne peut pas être répercuté provoque une exception au lieu d’être appliqué localement.Exemple
Query
Response
- SQLite moteur de table
- SQLite database engine — section consacrée à la prise en charge des types de données