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

florajs/sql-parser

Repository files navigation

@florajs/sql-parser

NPM version NPM downloads

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('@florajs/sql-parser');
const parser = new Parser();
const ast = parser.parse('SELECT * FROM t');

console.log(ast);

Convert AST back to SQL

const { Parser } = require('@florajs/sql-parser');
const ast = (new Parser()).parse('SELECT * FROM t');
const toSQL = require('@florajs/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

GPL-2.0

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published