Skip to content

Parse SQL (select) statements into abstract syntax tree (AST) and convert ASTs back to SQL.

License

Notifications You must be signed in to change notification settings

qing-hai/flora-sql-parser

 
 

Repository files navigation

Flora SQL Parser

Build Status NPM version Dependencies

Parse simple SQL statements into an abstract syntax tree (AST) and convert it back to SQL.

Usage

Create AST for SQL statement:

const Parser = require('flora-sql-parser').Parser;
const parser = new Parser();
const ast = parser.parse('SELECT * FROM t');

console.log(ast);

Convert AST back to SQL:

const Parser = require('flora-sql-parser').Parser;
const ast = (new Parser()).parse('SELECT * FROM t');
const toSQL = require('flora-sql-parser').util.astToSQL;

console.log(toSQL(ast));

The generated SQL is ANSI SQL compliant. To run those queries on MySQL, make sure you set correct SQL mode

SET SESSION sql_mode = 'ANSI';

before running any query.

Acknowledgement

This project is based on the SQL parser extracted from Alibaba's nquery module.

License

MIT

About

Parse SQL (select) statements into abstract syntax tree (AST) and convert ASTs back to SQL.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 68.1%
  • PEG.js 31.9%