Skip to content

스크립트 개발 / 커넥터 객체 DFF.CONN / ClickHouse

ClickHouse 커넥터 작업 객체는 ClickHouse를 쿼리하고 쓰는 메서드를 제공합니다.

DFF.CONN(...) 매개변수는 다음과 같습니다.

매개변수 타입 필수 / 기본값 설명
connector_id str 필수 커넥터 ID
database str None 데이터베이스 지정

.query(...)

SQL 문을 실행하고 쿼리 결과를 반환합니다. 각 행의 결과는 열 이름을 키로 하는 dict로 변환되며, 모든 결과는 list로 반환됩니다.

매개변수 타입 필수 / 기본값 설명
sql str 필수 SQL 문으로, 매개변수 자리표시자를 포함할 수 있습니다.
?는 이스케이프가 필요한 매개변수를 나타내고,
??는 이스케이프가 필요 없는 매개변수를 나타냅니다.
sql_params list None SQL 매개변수
예제
1
2
3
sql = 'SELECT * FROM ?? WHERE age > ?'
sql_params = ['demo_table', 50]
result = helper.query(sql, sql_params=sql_params)

.non_query(...)

쓰기, 업데이트 또는 삭제 등 SQL 문을 실행하고, 드라이버가 보고한 영향받은 행 수를 반환합니다. 매개변수는 .query(...)와 동일합니다.

예제
1
2
3
sql = 'INSERT INTO ?? (name, age) VALUES (?, ?)'
sql_params = ['demo_table', 'Tom', 20]
affected_rows = helper.non_query(sql, sql_params=sql_params)

.query(...).non_query(...)는 실행에 성공하면 자동으로 트랜잭션을 커밋합니다. 실행에 실패하면 예외를 발생시킵니다.

동적 SQL 문

query(...)non_query(...)는 내부적으로 DFF.SQL(...)을 사용하여 SQL 문을 구성하며, 복잡한 동적 SQL 문을 구성할 수 있습니다.

예를 들어 WHERE IN (...)에 값 개수가 정해지지 않은 경우, 또는 INSERT INTO ... VALUES ...로 데이터를 일괄 입력하는 경우 등입니다.

자세한 내용은 스크립트 개발 / SQL 구성 DFF.SQL을 참조하세요.