Criando uma tabela
db_path— Caminho para o arquivo SQLite que contém um banco de dados.table— Nome de uma tabela no banco de dados SQLite ou uma consulta passada ao SQLite tal como está (consulte Passando uma consulta em vez de um nome de tabela).
Passando uma consulta em vez de um nome de tabela
table pode ser uma consulta SELECT passada ao SQLite como está. A estrutura da tabela é inferida a partir do resultado da consulta. A consulta pode ser escrita como uma subconsulta ou envolvida na função query:
INSERT nela não é permitido. A mesma sintaxe também é compatível com a função de tabela sqlite.
A forma de subconsulta
(SELECT ...) é analisada pelo ClickHouse e reserializada antes de ser enviada ao SQLite. Portanto, ela deve ser um ClickHouse SQL válido. Para passar uma sintaxe específica do SQLite que o ClickHouse não interpreta, use a forma query('...'), cujo texto é enviado ao SQLite literalmente.Qualquer WHERE, LIMIT, agregação etc. externo da consulta ClickHouse ao redor não é enviado para execução na consulta passada — ele é aplicado no ClickHouse depois que o resultado completo da consulta é recuperado. Para restringir os dados lidos do SQLite, coloque o filtro dentro da consulta passada. Com external_table_strict_query = 1, um filtro externo que não pode ser enviado para execução é rejeitado com uma exceção, em vez de ser aplicado localmente.Suporte a tipos de dados
- Date, Date32
- DateTime, DateTime64
- UUID
- Enum8, Enum16
- Decimal32, Decimal64, Decimal128, Decimal256
- FixedString
- Todos os tipos inteiros (UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64)
- Float32, Float64