ClickHouse 방언 SQL을 타입이 지정된 AST로 파싱하고 쿼리를 포맷하거나 보기 좋게 정리하는 Go 라이브러리 및 CLI입니다.
JSQLParser/JSqlParser
SQL 문을 탐색 가능한 Java 객체 트리로 변환하고, 다시 SQL 텍스트로 출력하는 Java SQL 파서입니다.
- 스타
- 5,975
- 포크
- 1,446
- 열린 이슈
- 8
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
JSqlParser는 SQL 문을 Visitor 패턴으로 탐색하고, 수정한 뒤 SQL로 다시 출력할 수 있는 Java 클래스 계층 구조로 파싱합니다. RDBMS에 종속되지 않으며, 하나의 문법으로 MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB, SQLite 등의 방언을 지원하고 예외적인 경우를 위한 방언 옵션도 제공합니다.
파싱 외에도 문이 행을 반환하는지 데이터를 수정하는지 분류할 수 있어, 읽기 전용 가드를 만들거나 쿼리 실행과 업데이트 실행 중 하나를 선택하는 데 도움이 됩니다. Fluent API를 사용해 Java에서 문을 구성하고 SQL 텍스트로 직렬화할 수도 있습니다. Piped SQL 문법은 개발이 진행 중입니다.
JDK 11 런타임이 필요하며 Maven Central을 통해 배포됩니다. 유지보수가 활발한 Manticore 빌드를 이전 upstream 릴리스보다 권장합니다.
핵심 기능
- 01SQL을 Visitor 패턴으로 탐색할 수 있는 Java 객체 트리로 파싱
- 02객체 모델을 SQL 텍스트로 변환
- 03MySQL, PostgreSQL, Oracle, SQL Server, BigQuery 등 다양한 방언 지원
- 04문이 행을 반환하는지 데이터를 수정하는지 분류
- 05Fluent API를 사용해 Java에서 SQL 문 생성
활용 사례
- Java 애플리케이션에서 실행 전에 SQL 쿼리 재작성 또는 감사
- 읽기 전용 데이터베이스 연결에서 데이터를 수정하는 문 차단
- 분석 또는 데이터 계보 도구를 위해 쿼리에서 참조하는 테이블과 컬럼 추출
- Java 코드에서 SQL을 프로그래밍 방식으로 생성
빠른 시작
- 1
Maven pom.xml에 Manticore 빌드 의존성을 추가합니다
- 2
CCJSqlParserUtil.parse로 SQL 문을 파싱하고 결과 트리를 순회합니다
사용 전 알아둘 점
- 소스에서 빌드하려면 JDK 17 툴체인이 필요합니다.
- upstream Maven Central 릴리스가 상당히 오래되어 README에서는 Manticore 빌드를 권장합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- JSqlParser은(는) 무엇인가요?
- SQL 문을 탐색 가능한 Java 객체 트리로 변환하고, 다시 SQL 텍스트로 출력하는 Java SQL 파서입니다. JSqlParser는 SQL 문을 Visitor 패턴으로 탐색하고, 수정한 뒤 SQL로 다시 출력할 수 있는 Java 클래스 계층 구조로 파싱합니다. RDBMS에 종속되지 않으며, 하나의 문법으로 MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB, SQLite 등의 방언을 지원하고 예외적인 경우를 위한 방언 옵션도 제공합니다.
- JSqlParser은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- JSqlParser은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- JSqlParser은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. JSqlParser의 마지막 커밋은 2026년 11월 5일입니다.
- JSqlParser은(는) 어디에 사용할 수 있나요?
- Java 애플리케이션에서 실행 전에 SQL 쿼리 재작성 또는 감사 읽기 전용 데이터베이스 연결에서 데이터를 수정하는 문 차단 분석 또는 데이터 계보 도구를 위해 쿼리에서 참조하는 테이블과 컬럼 추출 Java 코드에서 SQL을 프로그래밍 방식으로 생성
- JSqlParser는 어떻게 설치하나요?
- Maven pom.xml에 Manticore 빌드 의존성을 추가합니다 CCJSqlParserUtil.parse로 SQL 문을 파싱하고 결과 트리를 순회합니다
- JSqlParser은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/JSQLParser/JSqlParser
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
계정 없이 브라우저에서 ER 다이어그램을 만들고 SQL 스크립트를 생성할 수 있는 무료 데이터베이스 스키마 편집기입니다.
SQL 및 NoSQL 데이터베이스를 지원하고 AI 채팅과 MCP 서버를 내장한 macOS·iOS용 무료 오픈소스 네이티브 데이터베이스 클라이언트입니다.
vim 스타일 키 바인딩을 지원하는 PostgreSQL, MySQL, SQLite, DuckDB 등의 터미널(TUI) 데이터베이스 클라이언트
PostgreSQL, MySQL 등 여러 DB를 지원하는 macOS·Windows·Linux용 네이티브 IDE
Postgres, MySQL, MariaDB, SQL Server, ClickHouse, SQLite를 지원하는 데스크톱 및 웹용 AI 기반 데이터베이스 클라이언트 겸 MCP 서버입니다.