sqlparser 0.1.7-alpha.0

Extensible SQL Lexer and Parser with support for ANSI SQL:2011
Documentation

SQL Parser for Rust

Example code:

This crate provides an ANSI:SQL 2011 lexer and parser that can parsed SQL into an Abstract Syntax Tree (AST).

use sqlparser::dialect::GenericSqlDialect;
use sqlparser::sqlparser::Parser;

let dialect = GenericSqlDialect {}; // or AnsiSqlDialect

let sql = "SELECT a, b, 123, myfunc(b) \
           FROM table_1 \
           WHERE a > b AND b < 100 \
           ORDER BY a DESC, b";

let ast = Parser::parse_sql(&dialect, sql.to_string()).unwrap();

println!("AST: {:?}", ast);