SQL Parsing Tools

General SQL Parser

General SQL Parser is a SQL Parser developed by Gudu Software that simplifies decoding SQL grammar and helps your applications stay current with the latest versions of database programs. It makes it easy to fetch, modify, and rewrite SQL segment and prepares a detailed SQL parse tree node structure. With General SQL Parser, you can clean up messy SQL codes, detect SQL Syntax errors, find affected SQL objects, rewrite and convert SQL, and do a lot more.

Export: HTML,Plain text,RTF
Free edition: No
Query analysis: Yes
Query optimalization: Yes
Syntax validation: Yes
parse2
parsingSQL3
parsingSQL1

Apache Calcite

Apache Calcite is an industry-standard SQL parser, validator, and JDBC driver. It represents your query in relational algebra, transforms using planning rules, and optimizes according to a cost model. In addition, you can connect to third-party data sources, browse metadata, and optimize by pushing the computation to the data.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: Yes
Syntax validation: Yes

JSQLParser

JSQLParser is an RDBMS agnostic SQL statement parser. Built from JavaCC, it translates SQL statements into a traversable hierarchy of Java classes. It provides support for many dialects, such as Oracle, MS SQL Server, MySQL, MariaDB, PostgreSQL, H2, etc.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: No
Syntax validation: No

Active Query Builder

Active Query Builder is a full-featured component suite for software developers. It includes an SQL Query Parser to build an SQL query object model of any given SQL query and a Visual Query Builder component to design SQL queries via an intuitive visual interface. Moreover, it includes an SQL Text Editor with code completion and syntax highlighting, along with a highly-customizable SQL Query Text Formatter. In short, it gives end users a clear view of their queries and database schema.

Export: Plain text,XML
Free edition: No
Query analysis: Yes
Query optimalization: Yes
Syntax validation: Yes

Queryparser

Queryparser supports parsing and analysis for three SQL-dialects, i.e., Vertica, Hive, and Presto. Each dialect implements its own tokenization and parsing logic. There is a single abstract syntax tree (AST) for representing queries of any dialect. This AST is defined in Database/Sql/Type.hs and Database/Sql/Type/Query.hs. The parsing logic produces an AST with table and column identifiers that are "raw" or optionally qualified.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: No
Syntax validation: No

PL/SQL Parser

PL/SQL Parser is a commercial PL/SQL parser developed by Strumenta that “understands” the code it analyzes and then provides the result of this analysis, called the Abstract Syntax Tree (AST), as an output. You can use the parser as a Java library or as a command-line tool that produces an Abstract Syntax Tree in JSON or XML format.

Export: XML,JSON
Free edition: No
Query analysis: Yes
Query optimalization: No
Syntax validation: No

Log Parser Lizard GUI

Log Parser GUI is a powerful log parsing and data querying software that allows you to easily extract valuable information from your logs using the power of SQL queries. With Log Parser Lizard, you can easily parse various system or application logs and then execute SQL queries against them with ease. The software provides a Graphical User Interface (GUI) for Microsoft Log Parser 2.2, an advanced file-parsing engine from Microsoft that runs on all versions of Windows.

Export: HTML,JSON,MS Excel,PDF,Plain text,RTF,CSV
Free edition: Yes
Query analysis: Yes
Query optimalization: Yes
Syntax validation: No

PHP-SQL-Parser

PHP-SQL-Parser is a pure PHP SQL (non validating) parser focusing on the MySQL dialect of SQL. The parsed representation returned by PHP-SQL-Parser is an associative array of important SQL sections and the information about the clauses in each of those sections. Since the MySQL SQL dialect is very close to SQL-92, this should work for most database applications that need a SQL parser. If using another database dialect, then you may want to change the reserved words.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: No
Syntax validation: No

sqlparse

sqlparse is a production-ready SQL parser written in pure Erlang. It is aligned to the Oracle SQL language and enriched with imem and JSONPath specific features.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: No
Syntax validation: No

Parser

Parser is a MySQL-compatible SQL parser that is highly compatible with MySQL and efficient to build an AST tree with a state machine. It is easily extensible, as adding a new syntax requires only a few lines of Yacc and Golang code changes.

Export: -
Free edition: Yes
Query analysis: Yes
Query optimalization: No
Syntax validation: No