What is sql-formatter?
The sql-formatter npm package is a library for formatting SQL queries. It supports various SQL dialects and provides a clean and readable output for SQL statements.
What are sql-formatter's main functionalities?
Basic SQL Formatting
This feature allows you to format a basic SQL query into a more readable format.
const sqlFormatter = require('sql-formatter');
const formattedSQL = sqlFormatter.format('SELECT * FROM table WHERE column = value');
console.log(formattedSQL);
Dialect-Specific Formatting
This feature allows you to format SQL queries according to specific SQL dialects like MySQL, PostgreSQL, etc.
const sqlFormatter = require('sql-formatter');
const formattedSQL = sqlFormatter.format('SELECT * FROM table WHERE column = value', { language: 'mysql' });
console.log(formattedSQL);
Custom Indentation
This feature allows you to customize the indentation used in the formatted SQL output.
const sqlFormatter = require('sql-formatter');
const formattedSQL = sqlFormatter.format('SELECT * FROM table WHERE column = value', { indent: ' ' });
console.log(formattedSQL);
Other packages similar to sql-formatter
sql-formatter-plus
sql-formatter-plus is another SQL formatter that offers similar functionality to sql-formatter. It also supports multiple SQL dialects and provides options for customizing the output format. However, it may have different default formatting styles and additional configuration options.
prettier-plugin-sql
prettier-plugin-sql is a plugin for the Prettier code formatter that adds support for formatting SQL queries. It integrates with Prettier's ecosystem, allowing you to format SQL queries alongside other code formats supported by Prettier. This can be useful if you are already using Prettier for other parts of your codebase.
SQL Formatter
SQL Formatter is a JavaScript library for pretty-printing SQL queries.
It started as a port of a PHP Library, but has since considerably diverged.
It supports Standard SQL and Couchbase N1QL dialects.
→ Try the demo.
Install
Get the latest version from NPM:
npm install --save sql-formatter
Usage
import sqlFormatter from "sql-formatter";
console.log(sqlFormatter.format("SELECT * FROM table1"));
This will output:
SELECT
*
FROM
table1
You can also pass in configuration options:
sqlFormatter.format("SELECT *", {
language: "n1ql"
indent: " "
});
Currently just two SQL dialects are supported:
Placeholders replacement
sqlFormatter.format("SELECT * FROM tbl WHERE foo = @foo", {
params: {foo: "'bar'"}
}));
sqlFormatter.format("SELECT * FROM tbl WHERE foo = ?", {
params: ["'bar'"]
}));
Both result in:
SELECT
*
FROM
tbl
WHERE
foo = 'bar'
Usage without NPM
If you don't use a module bundler, clone the repository, run npm install
and grab a file from /dist
directory to use inside a <script>
tag.
This makes SQL Formatter available as a global variable window.sqlFormatter
.
Contributing
$ npm run check
...and you're ready to poke us with a pull request.
License
MIT