DB 조회¶
DB 조회 스킬은 데이터베이스에 SELECT 쿼리를 실행하고 결과를 반환합니다. 파라미터 바인딩으로 SQL 인젝션을 방지합니다.
설정 방법¶
1. 스킬 노드 추가 및 선택¶
스킬 노드를 추가하고 우측 패널에서 DB 조회를 선택합니다.
2. Database 인증 연결¶
인증 탭에서 데이터베이스 인증 정보를 선택합니다. 미등록 시 새 인증 추가를 클릭하여 DB 접속 정보(호스트, 포트, 사용자, 비밀번호, 데이터베이스명)를 입력합니다.
3. 쿼리 파라미터 입력¶
설정 탭에서 테이블명, 조회 컬럼, WHERE 조건 등을 입력합니다.
파라미터¶
| 파라미터 | 필수 | 설명 |
|---|---|---|
| table | O | 테이블명 (JOIN 포함 가능) |
| columns | 조회 컬럼 목록 (기본: ["*"]) |
|
| where | WHERE 조건 (예: age > :min_age) |
|
| params | 바인딩 파라미터 (JSON 객체) | |
| order_by | 정렬 조건 | |
| group_by | 그룹 조건 | |
| limit | 최대 행 수 (기본: 100) | |
| timeout | 쿼리 타임아웃 초 (기본: 30) |
인증 정보¶
Database 인증이 필요합니다.
| 항목 | 설명 |
|---|---|
| db_type | postgresql, mysql, sqlite |
| host | DB 서버 주소 |
| port | 포트 번호 (PostgreSQL: 5432, MySQL: 3306) |
| username | DB 사용자 |
| password | DB 비밀번호 |
| database | 데이터베이스명 |
출력¶
{
"success": true,
"data": {
"rows": [
{"id": 1, "name": "홍길동", "amount": 50000},
{"id": 2, "name": "김철수", "amount": 30000}
],
"row_count": 2,
"columns": ["id", "name", "amount"]
}
}
출력 참조¶
{{ $('skill_1').data_content.result.rows }} → 전체 행 데이터
{{ $('skill_1').data_content.result.rows[0].name }} → 첫 행의 name
{{ $('skill_1').data_content.result.row_count }} → 결과 행 수
{{ $('skill_1').data_content.result.columns }} → 컬럼 목록
사용 예시¶
매출 데이터 조회 → AI 분석¶
| 파라미터 | 값 |
|---|---|
| table | orders |
| columns | ["product", "SUM(amount) as total"] |
| where | order_date = :today |
| params | {"today": "2026-03-05"} |
| group_by | product |
집계 함수¶
COUNT, SUM, AVG, MAX, MIN, DISTINCT를 columns에서 사용할 수 있습니다.
참고¶
- 파라미터 바인딩: WHERE 조건에서
:param_name형식을 사용하고params에 값을 전달하세요. 직접 값을 삽입하지 마세요. - PostgreSQL의 경우 statement timeout이 자동 설정됩니다.
- 지원 DB: PostgreSQL, MySQL, SQLite



