Freedom251 › SQL Linters and Formatters
SQLCheck

What SQLCheck is
SQLCheck is a free command-line utility that detects common SQL anti-patterns associated with slower queries. It sorts findings into logical database design, physical database design, query, and application development categories. Users can analyze a SQL file and choose to check all patterns, medium- and high-risk patterns, or high-risk patterns only. Color and verbose modes are available for output. The project identifies Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite3 as supported dialects, and says it targets all major SQL dialects. Downloads are listed for Debian, RPM, macOS DMG, Windows EXE, and ZIP. Source builds require g++ 4.9 or later and CMake. Version 1.3 release notes list line numbers and a status code of 1 when anti-patterns are found. SQLCheck does not automatically fix findings, and no editor extensions or configuration file are listed. The repository identifies the license as Apache-2.0 and invites contributions through issues, pull requests, and documentation improvements. Its documented use is file-based from a command line; a hosted service, graphical interface, API, and mobile app are not described.
Who it suits
SQLCheck suits developers who want a command-line check of SQL files across the listed dialects. It is a fit for users comfortable working in a terminal rather than a graphical or hosted tool.
What it does well
- Free open-source command-line tool.
- Supports five named SQL dialects.
- Risk filters let users narrow pattern checks.
- Downloads cover Windows, macOS, and Linux packages.
- Verbose and color output modes are available.
What to know first
- Does not automatically fix detected anti-patterns.
- No editor extensions or configuration file are listed.
- Documented use is command-line and file-based.
- No hosted service or graphical interface is described.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| SQLCheck | Open-source command-line tool · no paid tiers or usage limits stated | Free |
As github.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the SQLCheck GitHub website.
- Choose a Debian, RPM, macOS DMG, Windows EXE, or ZIP download.
- On Windows, run the executable from a terminal such as cmd.exe.
- Provide a SQL file name to the command line for analysis.
- Use risk-level options and color or verbose modes to view results.
SQLCheck is a free command-line tool for developers reviewing SQL files across database systems. Its risk filters and coverage beyond queries make it useful for focused checks; the file-based workflow is less suited to people who want an integrated editing experience.
Overview
SQLCheck scans for common SQL anti-patterns that can slow queries, organizing findings across logical and physical database design, queries, and application development. That breadth makes it relevant to code reviews that need to look beyond query syntax, while its terminal-first approach keeps the task centered on scanning files.
The project targets major SQL dialects, including Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite3. It is licensed under Apache-2.0, and its maintainer welcomes contributions through issues, pull requests, and documentation improvements.
Key features
- Risk-level selection: Run checks for all anti-patterns, medium- and high-risk patterns, or high-risk patterns only. This helps reviewers narrow attention to more serious findings when a broad scan would be less useful.
- File-based analysis: Pass a SQL file name on the command line. Version 1.3 adds line numbers and returns status code 1 when it finds anti-patterns, which helps locate findings and lets scripts react to them.
- Color and verbose modes: These output options give users a choice in how much detail and visual distinction they want in terminal results, without changing the file-based workflow.
- Multiple distribution formats: Debian, RPM, macOS DMG, Windows EXE, and ZIP downloads offer several ways to get the tool. Building from source requires g++ 4.9+ and CMake.
Pricing
SQLCheck is free: the open-source command-line tool costs nothing, with no paid tiers or usage limits stated. That makes it suitable for individual developers and teams that want a no-cost scanner; there is no higher tier described for expanded services or features.
Platforms
SQLCheck supports Linux, macOS, and Windows. The project provides Debian and RPM packages, a macOS DMG, a Windows executable, and ZIP downloads. Windows users run the executable from a terminal such as cmd.exe; source builds are also possible with g++ 4.9+ and CMake.
Who it's for
SQLCheck fits developers and database teams who want to inspect SQL files for anti-patterns across several dialects and prioritize findings by risk. It is less appropriate for users who need a hosted service, graphical interface, mobile app, API, or integrations with other products; the described workflow is a standalone command-line utility.
Pros and cons
- Pro: Findings span design, query, and application-development categories, giving reviewers more than a query-only check.
- Pro: Risk filters, line numbers, and a nonzero status when findings appear help focus review and support scripted use.
- Pro: Free, open-source distribution across Linux, macOS, and Windows keeps it accessible across common development environments.
- Con: Analysis is based on SQL files and terminal use, which may be inconvenient for people expecting an editor or graphical workflow.
- Con: The tool does not provide automatic fixes, so users must address findings themselves.
Alternatives
For other options, see SQL Linters and Formatters.
- SQL Formatter is a better fit when the goal is SQL formatting rather than anti-pattern detection; it offers a free formatting library and browser demo.
- Sqruff is another free option for readers looking for a tool with extension, self-hosted, and web platforms.
- JSQLFormatter is a free alternative for readers who prefer a tool available on Linux, macOS, self-hosted, and Windows platforms.
- Poor SQL is worth considering when formatting is the priority, with online and offline formatting and an SSMS/Visual Studio plugin in its free plan.
- Sleek is a free alternative with extension support for users who want a formatter available as an extension as well as on desktop platforms.
- SQLFluff is a free, MIT-licensed open-source SQL linter for users seeking a linter rather than SQLCheck's anti-pattern-focused scanner.
- sqlfmt suits readers who want a browser-based formatter that runs through WebAssembly without installation.
- TSQLLint is a free alternative for users who want an MIT-licensed tool installable with dotnet-tool, Homebrew, or NPM.
Verdict
Choose SQLCheck if you want a free terminal scanner that checks SQL files across several dialects and lets you focus on findings by risk. Look elsewhere if you need automatic repairs or a more integrated workflow than a standalone command-line tool provides.
Verdict
SQLCheck provides a focused terminal workflow for locating SQL anti-patterns across several database dialects. Users seeking automatic repairs, editor extensions, or a graphical interface will not find those described here.
Questions
How much does SQLCheck cost?
The listed plan is free. No paid tiers or usage limits are stated.
Which SQL dialects does it support?
Named dialects are Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite3. The project says it targets all major SQL dialects.
Which operating systems are supported?
Platforms listed are Linux, macOS, and Windows. Downloads include Debian, RPM, macOS DMG, Windows EXE, and ZIP packages.
Does SQLCheck automatically repair findings?
No. Automatic fixes are listed as unavailable.
Who makes SQLCheck, and what is its license?
The GitHub profile identifies jarulraj as Joy Arulraj, an Associate Professor at Georgia Tech in Atlanta. The project is licensed under Apache-2.0.
Does SQLCheck integrate with editors or other products?
No editor extensions are listed. The project is described as a standalone command-line utility.
Facts from SQLCheck's own pages
- Build requirements
- Building from source requires g++ 4.9+ and CMake, and the repository should be cloned with its recursive option. · github.com, 8 Oct 2026
- Contributions and help
- The README welcomes contributions through issues, pull requests, and documentation improvements. · github.com, 7 Oct 2026
- Detection categories
- It groups detected anti-patterns into logical database design, physical database design, query, and application development categories. · github.com, 7 Oct 2026
- Detection coverage
- It lists anti-patterns in logical database design, physical database design, queries, and application development. · github.com, 8 Oct 2026
- Downloads
- The README lists Debian, RPM, macOS DMG, Windows EXE, and ZIP downloads. · github.com, 7 Oct 2026
- Input
- The command line accepts a SQL file name for analysis. · github.com, 7 Oct 2026
- Input and output
- The command-line tool accepts a file name and offers color and verbose modes. · github.com, 8 Oct 2026
- Integrations
- The maker pages opened describe a standalone command-line utility and do not state integrations with other products. · github.com, 8 Oct 2026
- License
- The repository says SQLCheck is licensed under the Apache License. · github.com, 7 Oct 2026
- macOS and Linux
- The README provides macOS DMG and Debian, RPM, and ZIP packages, with source-build instructions as well. · github.com, 8 Oct 2026
- Maker
- The GitHub profile identifies jarulraj as Joy Arulraj, an Associate Professor at Georgia Tech in Atlanta. · github.com, 7 Oct 2026
- Notable limitation
- The README documents file-based command-line use; it does not describe a hosted service, graphical interface, API, or mobile app. · github.com, 8 Oct 2026
- Output options
- The command line provides color and verbose modes. · github.com, 7 Oct 2026
- Purpose
- SQLCheck automatically detects common SQL anti-patterns that can slow queries. · github.com, 8 Oct 2026
- Release features
- The v1.3 release lists line numbers and exit status 1 when anti-patterns are found. · github.com, 8 Oct 2026
- Risk levels
- The command-line option supports checking all anti-patterns, medium and high risk only, or high risk only. · github.com, 8 Oct 2026
- Security and compliance
- The repository identifies its license as Apache-2.0 and does not state security certifications or compliance claims. · github.com, 8 Oct 2026
- SQL dialects
- The project says it targets all major SQL dialects. · github.com, 8 Oct 2026
- Support
- The project invites users to open issues, submit pull requests, and improve its documentation. · github.com, 8 Oct 2026
- Windows
- The README provides a Windows executable download and says to run it from a terminal such as cmd.exe. · github.com, 8 Oct 2026
Where SQLCheck stands on Freedom251
- SQL Linters and Formatters#9 of 26