parse - Parsing SQL into an AST
sqlc parse parses SQL from a file or standard input and prints the abstract
syntax tree (AST) as a single JSON document. It does not require a configuration
file or a database connection.
Each statement is reported with its sqlc query name and command (when the
statement carries a -- name: annotation)
alongside its AST.
Usage
sqlc parse --dialect <dialect> [file]
The SQL is read from the given file, or from standard input when no file is provided.
Flags
--dialect,-d- The SQL dialect to use. One ofpostgresql,mysql,sqlite, orclickhouse. Required.
Examples
Parse a query file:
sqlc parse --dialect postgresql query.sql
Parse SQL piped via standard input:
echo "SELECT 1;" | sqlc parse --dialect mysql
The output is a JSON array with one object per statement:
[
{
"name": "GetAuthor",
"cmd": ":one",
"ast": {
"Stmt": {
"...": "..."
},
"StmtLocation": 0,
"StmtLen": 42
}
}
]
Statements without a -- name: annotation (for example schema DDL) omit the
name and cmd fields.