Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

SQLite 테이블 엔진

ClickHouse Cloud에서 지원되지 않음

이 엔진은 SQLite로 데이터를 가져오고 내보낼 수 있으며, ClickHouse에서 SQLite 테이블에 직접 쿼리할 수도 있습니다.

테이블 생성

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

엔진 매개변수

  • db_path — 데이터베이스가 저장된 SQLite 파일의 경로입니다.
  • table — SQLite 데이터베이스 내 테이블 이름이거나, SQLite에 그대로 전달되는 쿼리입니다(테이블 이름 대신 쿌리 전달 참조).

테이블 이름 대신 쿼리 전달하기

테이블 이름 대신 table 인수에 SQLite로 그대로 전달되는 SELECT 쿼리를 지정할 수 있습니다. 테이블의 구조는 쿼리 결과를 바탕으로 자동 추론됩니다. 쿼리는 하위 쿼리로 작성하거나 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 │
└──────┴───────┘

관련 항목

Navigation