9 releases

new 0.8.0 Apr 6, 2024
0.7.5 Jun 29, 2021
0.7.4 Dec 5, 2020
0.7.1 Nov 10, 2020
0.5.1-alpha-1 Jan 6, 2020

#1385 in Database interfaces

Download history 8/week @ 2024-02-09 9/week @ 2024-02-16 22/week @ 2024-02-23 209/week @ 2024-03-01 274/week @ 2024-03-08 102/week @ 2024-03-15 91/week @ 2024-03-22 191/week @ 2024-03-29

689 downloads per month
Used in 3 crates (via restq)

Apache-2.0

185KB
4.5K SLoC

Extensible SQL Lexer and Parser for Rust

License Version Build Status

A lean SQL abstract syntax tree and parser

Forked from https://github.com/ballista-compute/sqlparser-rs


lib.rs:

SQL Parser for Rust

Example code:

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

use sql_ast::dialect::GenericDialect;
use sql_ast::parser::Parser;

let dialect = GenericDialect {}; // or AnsiDialect

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);

Dependencies

~47–285KB