콘텐츠로 이동

DB 조회

DB 조회 스킬은 데이터베이스에 SELECT 쿼리를 실행하고 결과를 반환합니다. 파라미터 바인딩으로 SQL 인젝션을 방지합니다.


설정 방법

1. 스킬 노드 추가 및 선택

스킬 노드를 추가하고 우측 패널에서 DB 조회를 선택합니다.

DB 조회 스킬 선택

2. Database 인증 연결

인증 탭에서 데이터베이스 인증 정보를 선택합니다. 미등록 시 새 인증 추가를 클릭하여 DB 접속 정보(호스트, 포트, 사용자, 비밀번호, 데이터베이스명)를 입력합니다.

Database 인증 정보 연결

3. 쿼리 파라미터 입력

설정 탭에서 테이블명, 조회 컬럼, WHERE 조건 등을 입력합니다.

DB 조회 파라미터 입력 — table, columns, where, params 설정


파라미터

파라미터 필수 설명
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 분석

워크플로우 예시 — 스케줄 → DB 조회 → 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, DISTINCTcolumns에서 사용할 수 있습니다.


참고

  • 파라미터 바인딩: WHERE 조건에서 :param_name 형식을 사용하고 params에 값을 전달하세요. 직접 값을 삽입하지 마세요.
  • PostgreSQL의 경우 statement timeout이 자동 설정됩니다.
  • 지원 DB: PostgreSQL, MySQL, SQLite