Pre-built SQL grammars that you can import and "just use". No configuration necessary.
Supports MySQL, T-SQL (SQL Server), PL/pgSQL (PostgreSQL), PL/SQL (Oracle) dialects.
- Get parsers, lexers and parse-trees with a single method call.
- Determine if an arbitrary SQL script is syntactically correct.
- Identify the types of keywords used in the queries.
npm install antlr4ts-sql
import { antlr4tsSQL, SQLDialect } from 'antlr4ts-sql'; const antlr4tssql = new antlr4tsSQL(SQLDialect.MYSQL); const query = 'SELECT * FROM table1'; const parseTree = antlr4tssql.getParseTreeFromSQL(query); console.log(parseTree); // Sql_scriptContext { // _parent: undefined, // invokingState: -1, // _start: CommonToken { _line: 1, _charPositionInLine: 0, _channel: 0, // index: 0, _text: undefined, _type: 614, // source: { source: [MySQLLexer], stream: [ANTLRInputStream] }, // start: 0, stop: 5 // }, // children: [ // QueryContext { // _parent: [Circular], invokingState: 1212, // _start: [CommonToken], children: [Array], _stop: [CommonToken] // }, // TerminalNode { _symbol: [CommonToken], _parent: [Circular] } // ], // _stop: CommonToken { _line: 1, _charPositionInLine: 20, _channel: 0, // index: 7, _text: undefined, _type: -1, // source: { source: [MySQLLexer], stream: [ANTLRInputStream] }, // start: 20, stop: 19 // } // }
antlr4ts-sql is a project created and maintained by modelDBA, a database IDE for modern developers. modelDBA lets you visualize SQL as you type and edit tables easily with a no-code table editor.