awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
JSQLParser avatar

JSQLParser/JSqlParser

0
View on GitHub↗
5,950 stars·1,418 forks·Java·Apache-2.0·23 viewsgithub.com/JSQLParser/JSqlParser/wiki↗

JSqlParser

JSqlParser is a Java library for SQL query parsing, converting raw SQL strings into a structured hierarchy of strongly typed Java objects. It provides the means to programmatically analyze and manipulate database queries by representing them as a tree of objects.

The library supports both the parsing of existing SQL text and the programmatic generation of new statements through a fluent API. It includes mechanisms for transforming query trees and serializing structured object models back into formatted SQL text.

Additional capabilities include database schema analysis, such as the extraction of table names to map data dependencies, and SQL syntax validation. The parser is configurable to handle different syntax dialects and includes error-tolerant recovery to continue processing scripts after encountering invalid tokens.

Features

  • SQL Query Object Models - Converts raw SQL strings into a structured hierarchy of strongly typed Java objects for analysis and manipulation.
  • Fluent Query Construction - Provides a programmatic, object-oriented fluent interface for constructing structured SQL statements.
  • SQL Query Builders - Provides a programmatic tool for building SQL queries using a fluent API.
  • SQL Statement Generators - Generates precise SQL statements from programmatic definitions using a fluent interface.
  • SQL Query Generation - Converts programmatic query definitions into formatted SQL strings compatible with database engines.
  • SQL Serialization - Serializes structured object models back into formatted SQL text for execution on database engines.
  • SQL Statement Parsing - Converts database dialect strings into a structured object hierarchy for programmatic analysis and modification.
  • Dialect-Aware Parsers - Provides parsing logic that adapts to various SQL dialect specifications for different database engines.
  • Statement - Represents parsed SQL statements as a tree of Java objects to allow programmatic manipulation via type safety.
  • SQL and Database Analysis - Analyzes raw SQL queries to extract table names and map data structures and dependencies.
  • Syntax Validation - Provides mechanisms to check database queries for correctness and handle syntax errors during the processing of SQL scripts.
  • Query Rewriting - Navigates and modifies parsed SQL statement trees to rewrite or optimize queries.
  • Table Dependency Extraction - Identifies and lists every table referenced within a structured query to map data dependencies.
  • Tree Traversal - Provides interfaces for programmatically visiting nodes within the parsed SQL statement hierarchy.
  • AST Visitor Patterns - Implements the visitor design pattern for traversing and modifying abstract syntax trees of SQL queries.
  • Parse Error Reporters - Identifies invalid tokens and handles parsing errors to allow the processing of remaining statements in a script.
  • Parsing Error Recovery - Includes error-tolerant recovery to continue processing SQL scripts after encountering invalid tokens.
  • SQL Parsers - Parses SQL statements into a hierarchy of Java classes.

Star history

Star history chart for jsqlparser/jsqlparserStar history chart for jsqlparser/jsqlparser

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to JSqlParser

Similar open-source projects, ranked by how many features they share with JSqlParser.
  • jooq/jooqjOOQ avatar

    jOOQ/jOOQ

    6,666View on GitHub↗

    jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time validation of SQL syntax and data types. Its core identity is built around a fluent DSL that mirrors SQL structure, a code generator that maps tables, views, and routines to Java objects, and a multi-dialect engine that translates the same DSL into vendor-specific SQL for over 30 databases. The project also includes a SQL parser and transformer for refactoring or dialect conversion, reactive stream integration for non-blocking query execution, and a JDBC proxy diagnostics tool f

    Javacode-generatordatabasedb2
    View on GitHub↗6,666
  • andialbrecht/sqlparseandialbrecht avatar

    andialbrecht/sqlparse

    4,008View on GitHub↗

    sqlparse is a Python library for the programmatic analysis and manipulation of SQL statements. It provides a non-validating parser that breaks down SQL text into tokens and a utility to divide strings containing multiple queries into individual statements. The project includes a code formatter that reorganizes SQL statements using consistent indentation and keyword casing. It also provides mechanisms for automating this formatting and linting process through version control hooks to maintain code consistency.

    Python
    View on GitHub↗4,008
  • benjamn/ast-typesbenjamn avatar

    benjamn/ast-types

    1,172View on GitHub↗

    This project is a framework for building, manipulating, and analyzing abstract syntax trees. It provides a toolkit for defining, traversing, and validating syntax trees that are compatible with the Mozilla Parser API, serving as a foundation for static code inspection and automated transformation tasks. The library distinguishes itself through a declarative type system that enforces structural integrity across node hierarchies. By wrapping raw syntax nodes in context-aware objects, it enables developers to track parent relationships and ancestor chains without modifying the underlying tree st

    TypeScript
    View on GitHub↗1,172
  • dtolnay/syndtolnay avatar

    dtolnay/syn

    3,292View on GitHub↗

    syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca

    Rustproc-macro
    View on GitHub↗3,292
See all 30 alternatives to JSqlParser→

Frequently asked questions

What does jsqlparser/jsqlparser do?

JSqlParser is a Java library for SQL query parsing, converting raw SQL strings into a structured hierarchy of strongly typed Java objects. It provides the means to programmatically analyze and manipulate database queries by representing them as a tree of objects.

What are the main features of jsqlparser/jsqlparser?

The main features of jsqlparser/jsqlparser are: SQL Query Object Models, Fluent Query Construction, SQL Query Builders, SQL Statement Generators, SQL Query Generation, SQL Serialization, SQL Statement Parsing, Dialect-Aware Parsers.

What are some open-source alternatives to jsqlparser/jsqlparser?

Open-source alternatives to jsqlparser/jsqlparser include: jooq/jooq — jOOQ is a type-safe SQL query builder for Java that generates code from live database schemas, enabling compile-time… andialbrecht/sqlparse — sqlparse is a Python library for the programmatic analysis and manipulation of SQL statements. It provides a… dtolnay/syn — syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development,… benjamn/ast-types — This project is a framework for building, manipulating, and analyzing abstract syntax trees. It provides a toolkit for… pest-parser/pest — Pest is a Rust parsing library and automatic parser generator that transforms formal grammar definitions into… tobymao/sqlglot — sqlglot is a SQL parser and transpiler that represents queries as abstract syntax trees to enable structural analysis,…