메인 콘텐츠로 건너뛰기SQL 생성 개요
바이브 코딩을 통한 SQL 생성은 복잡한 조인(Join)문이나 집계 함수를 직접 작성하지 않아도, 자연어로 데이터 추출 요건을 설명하면 AI가 즉시 유효한 쿼리를 만들어주는 기능입니다. 특히 게시판의 통계 데이터나 복잡한 검색 조건이 필요할 때 매우 유용합니다.
단계별 SQL 생성 및 실행
1. 데이터 추출 목적 설명
게시판 DB에 저장된 데이터를 바탕으로 어떤 정보를 얻고 싶은지 AI에게 설명합니다.
Prompt: “우리 게시판 DB에서 ‘지난 한 달 동안 가장 댓글이 많이 달린 게시글 TOP 5’를 뽑아주는 SQL 쿼리를 작성해줘. 게시글 제목과 댓글 수도 같이 출력되어야 해.”
2. 스키마 자동 참조 (Context Aware)
AI는 프로젝트 내의 엔티티 파일(Board.java, Comment.java)이나 schema.sql을 읽어 테이블명과 컬럼명을 정확히 파악한 뒤 쿼리를 생성합니다.
AI는 생성된 쿼리를 단순히 보여주는 것에 그치지 않고, 설정된 DB MCP Tool이 있다면 직접 쿼리를 실행하여 결과를 확인해 줍니다.
- Tools 활용:
run_terminal_command를 통해 로컬 DB CLI에 접속하거나, 연결된 DB 관리 도구를 호출하여 쿼리 결과를 사용자에게 즉시 리포트합니다.
실무 활용 시나리오
검색 기능 강화
Prompt: “제목과 내용뿐만 아니라 작성자의 닉네임으로도 검색할 수 있는 SQL 쿼리를 만들어줘. 검색어는 포함 관계(LIKE %search%)로 설정해줘.”
통계 데이터 추출
Prompt: “매일 생성되는 게시글 수를 날짜별로 그룹화해서 보여주는 통계용 쿼리를 작성해줘. 최근 7일치 데이터만 필요해.”
💡 SQL 생성 및 관리 팁
- 성능 최적화 요청: 쿼리 생성 후 “이 쿼리가 인덱스를 잘 타는지 확인해주고, 데이터가 많아져도 속도가 느려지지 않게 튜닝해줘”라고 요청하세요.
- Dialect 명시: H2, MySQL, PostgreSQL 등 사용하는 DB 종류를 언급하면 해당 DB 전용 문법(함수, 페이징 처리 등)으로 정확하게 생성됩니다.
- 보안 검토: AI가 생성한 쿼리에 SQL Injection 위험이 없는지 검토해달라고 요청하여 안전한 파라미터 바인딩 방식을 적용하세요.