Una biblioteca y CLI de Go que analiza SQL del dialecto de ClickHouse y lo convierte en un AST tipado, y da formato o embellece las consultas.
JSQLParser/JSqlParser
Un parser SQL para Java que convierte sentencias SQL en un árbol navegable de objetos Java y puede volver a generar el texto SQL.
- Estrellas
- 5,975
- Forks
- 1,446
- Issues abiertos
- 8
- Último commit
- anteayer
¿Qué es?
JSqlParser analiza sentencias SQL y las convierte en una jerarquía de clases Java que se puede recorrer con el patrón Visitor, modificar y volver a imprimir como SQL. No depende de ningún RDBMS: una misma gramática cubre dialectos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB y SQLite, con opciones específicas para casos límite.
Además de analizar sentencias, el proyecto puede clasificarlas según si devuelven filas o modifican datos, lo que ayuda a crear controles de solo lectura o a elegir entre ejecutar una consulta o una actualización. También se pueden construir sentencias desde Java con una API fluida y serializarlas como texto SQL. La sintaxis de SQL con tuberías está en desarrollo.
Requiere un entorno de ejecución JDK 11 y se distribuye a través de Maven Central. Se recomiendan las compilaciones de Manticore, que reciben mantenimiento activo, frente a la versión upstream anterior.
Funciones clave
- 01Analiza SQL y lo convierte en un árbol de objetos Java que se puede recorrer con el patrón Visitor
- 02Convierte el modelo de objetos de nuevo a texto SQL
- 03Admite muchos dialectos, incluidos MySQL, PostgreSQL, Oracle, SQL Server y BigQuery
- 04Clasifica las sentencias según si devuelven filas o modifican datos
- 05Construye sentencias SQL desde Java con una API fluida
Casos de uso
- Modificar o auditar consultas SQL en una aplicación Java antes de ejecutarlas
- Bloquear sentencias que modifican datos en conexiones de base de datos de solo lectura
- Extraer las tablas y columnas referenciadas por una consulta para analizarlas o usarlas en herramientas de linaje de datos
- Generar SQL mediante programación desde código Java
Inicio rápido
- 1
Añade la dependencia de compilación de Manticore a tu pom.xml de Maven
- 2
Analiza una sentencia SQL con CCJSqlParserUtil.parse y recorre el árbol resultante
Antes de usarlo
- Para compilar desde el código fuente se necesita una cadena de herramientas JDK 17.
- El README recomienda las compilaciones de Manticore porque la versión publicada en Maven Central por el proyecto original es considerablemente más antigua.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es JSqlParser?
- Un parser SQL para Java que convierte sentencias SQL en un árbol navegable de objetos Java y puede volver a generar el texto SQL. JSqlParser analiza sentencias SQL y las convierte en una jerarquía de clases Java que se puede recorrer con el patrón Visitor, modificar y volver a imprimir como SQL. No depende de ningún RDBMS: una misma gramática cubre dialectos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB y SQLite, con opciones específicas para casos límite.
- ¿JSqlParser es gratuito? ¿Qué licencia tiene?
- JSqlParser es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿JSqlParser sigue mantenido?
- Mantenimiento activo. El último commit de JSqlParser fue el 5 nov 2026.
- ¿Para qué puedo usar JSqlParser?
- Modificar o auditar consultas SQL en una aplicación Java antes de ejecutarlas Bloquear sentencias que modifican datos en conexiones de base de datos de solo lectura Extraer las tablas y columnas referenciadas por una consulta para analizarlas o usarlas en herramientas de linaje de datos Generar SQL mediante programación desde código Java
- ¿Cómo se instala JSqlParser?
- Añade la dependencia de compilación de Manticore a tu pom.xml de Maven Analiza una sentencia SQL con CCJSqlParserUtil.parse y recorre el árbol resultante
- ¿Dónde consigo JSqlParser?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/JSQLParser/JSqlParser
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Editor gratuito de esquemas de bases de datos en el navegador que crea diagramas ER y genera scripts SQL, sin necesidad de cuenta.
Cliente nativo, gratuito y de código abierto para bases de datos en macOS e iOS, compatible con SQL y NoSQL, con chat de IA integrado y un servidor MCP.
Cliente de bases de datos para PostgreSQL, MySQL, SQLite, DuckDB y más, con interfaz de terminal (TUI) y atajos de teclado al estilo de Vim.
IDE nativo de bases de datos para macOS, Windows y Linux, compatible con PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server y ClickHouse, con servidor MCP integrado y chat con IA.
Cliente de bases de datos con IA y servidor MCP para escritorio y web, compatible con Postgres, MySQL, MariaDB, SQL Server, ClickHouse y SQLite.