Home / AI / AI 용어사전 / SQL — AI 개발자가 반드시 알아야 할 데이터베이스 언어
TERM
SQL — AI 개발자가 반드시 알아야 할 데이터베이스 언어
On this page
AI 서비스가 사용자 데이터를 저장하고, 학습 결과를 기록하고, 대화 이력을 조회한다. 이 모든 작업의 배후에는 SQL이 있다.
정의
SQL(Structured Query Language, 구조적 질의 언어)은 관계형 데이터베이스(RDBMS)에서 데이터를 생성·조회·수정·삭제하는 표준 언어다. 1970년대 IBM에서 개발됐으며, PostgreSQL·MySQL·SQLite·MariaDB 등 거의 모든 관계형 데이터베이스가 SQL을 지원한다. AI 서비스의 사용자 관리, 대화 이력 저장, 분석 데이터 집계 등 데이터가 필요한 모든 곳에서 SQL이 사용된다.
핵심 명령어: CRUD
SQL의 기본 4개 명령어로 데이터의 생성(Create)·조회(Read)·수정(Update)·삭제(Delete), 이른바 CRUD 작업을 수행한다.
-- SELECT: 데이터 조회
SELECT user_id, prompt, response, created_at
FROM ai_conversations
WHERE user_id = 42
ORDER BY created_at DESC
LIMIT 10;
-- INSERT: 데이터 삽입
INSERT INTO ai_conversations (user_id, prompt, response, model)
VALUES (42, '딥러닝이란?', '딥러닝은...', 'claude-sonnet-4-6');
-- UPDATE: 데이터 수정
UPDATE users
SET last_active = NOW(), total_tokens = total_tokens + 500
WHERE user_id = 42;
-- DELETE: 데이터 삭제
DELETE FROM ai_conversations
WHERE created_at < NOW() - INTERVAL '90 days';JOIN: 테이블 결합
관계형 데이터베이스에서 데이터는 여러 테이블에 분산 저장된다. JOIN은 두 테이블을 공통 키(Foreign Key)로 결합해 함께 조회하는 명령이다.
-- INNER JOIN: 두 테이블 모두에 존재하는 데이터만 조회
SELECT u.username, c.prompt, c.response
FROM users u
INNER JOIN ai_conversations c ON u.user_id = c.user_id
WHERE u.plan = 'premium'
AND c.created_at > '2026-04-01';- INNER JOIN: 양쪽 테이블에 일치하는 행만 반환.
- LEFT JOIN: 왼쪽 테이블 전체 + 오른쪽 테이블 일치 행(없으면 NULL).
- RIGHT JOIN: 오른쪽 테이블 전체 + 왼쪽 테이블 일치 행(없으면 NULL).
집계 함수와 GROUP BY
데이터 분석에는 집계 함수와 GROUP BY가 필수다.
-- 모델별 일평균 토큰 사용량 집계
SELECT
model,
DATE(created_at) AS usage_date,
COUNT(*) AS request_count,
AVG(token_count) AS avg_tokens,
SUM(token_count) AS total_tokens
FROM ai_conversations
GROUP BY model, DATE(created_at)
HAVING COUNT(*) > 100
ORDER BY usage_date DESC;COUNT, AVG, SUM, MAX, MIN이 대표적인 집계 함수다. GROUP BY로 묶은 그룹에 조건을 적용할 때는 WHERE 대신 HAVING을 사용한다.
AI 개발에서 SQL의 역할
현대 AI 서비스 스택에서 SQL은 여러 계층에 걸쳐 사용된다.
벡터 데이터베이스와의 관계: RAG(검색증강생성)|rag 파이프라인에서 벡터 DB|vector-database가 의미 검색을 담당하고, PostgreSQL(pgvector 확장)은 메타데이터 필터링과 벡터 DB|vector-database 역할을 동시에 수행할 수 있다.
Supabase·PlanetScale 같은 서비스형 DB: SQL 표준을 유지하면서 서버리스 환경에서 스케일링을 자동화. Next.js + Supabase 조합이 AI 서비스 풀스택 개발에서 널리 사용된다.
활용 사례
- 대화 이력 관리: AI 챗봇의 대화 이력을 SQL DB에 저장, 사용자별 컨텍스트 조회.
- 사용량 분석: 모델별·날짜별 API 호출 수, 토큰 소비량 집계로 비용 최적화.
- 사용자 권한 관리: 구독 플랜, 레이트 리밋 설정, 접근 권한을 SQL 테이블로 관리.
관련 용어
- database — SQL이 작동하는 관계형 데이터베이스 시스템
- orm — SQL을 코드로 추상화하는 객체 관계 매핑 라이브러리 (Prisma, Drizzle)
- vector-database — 임베딩 벡터를 저장·검색하는 비관계형 DB
- supabase — PostgreSQL 기반 서비스형 데이터베이스
- index — 쿼리 속도를 높이는 데이터베이스 인덱스 구조