- Home
- SQL Linters and Formatters
- SQLCheck
SQLCheck
What it is
SQLCheck is a free command-line utility that detects common SQL anti-patterns associated with slower queries. It groups findings into logical database design, physical database design, query, and application development categories. Users provide a SQL file name and can choose to check all patterns, medium- and high-risk patterns, or only high-risk patterns. Color and verbose modes are available. The project says it targets all major SQL dialects and specifically lists Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and SQLite3. Downloads include Debian, RPM, macOS DMG, Windows EXE, and ZIP packages. Source builds require g++ 4.9 or later and CMake. The v1.3 release notes list line numbers and a status code of 1 when anti-patterns are found. SQLCheck does not automatically fix findings, and the project does not describe editor extensions, a configuration file, a hosted service, a graphical interface, an API, or a mobile app. The repository identifies the license as Apache-2.0 and welcomes contributions through issues, pull requests, and documentation improvements.
For and against
For
- Free command-line tool with no paid tiers stated.
- Lists five supported SQL dialects.
- Offers all-pattern and risk-filtered checks.
- Downloads are listed for Linux, macOS, and Windows.
Against
- Does not automatically fix findings.
- No editor extensions or configuration file.
- The documented workflow is file-based command-line use.
The verdict
SQLCheck provides file-based SQL anti-pattern detection with selectable risk levels and multiple output modes. It does not automatically repair findings and is documented as a command-line utility rather than a hosted service or graphical app.
Who it suits
SQLCheck may suit developers who want to scan SQL files from a command line on Linux, macOS, or Windows. Its risk-level options can help users focus an analysis on higher-risk patterns.
Plans and prices
SQLCheck
Open-source command-line tool · no paid tiers or usage limits stated
Read 8 Oct 2026 · github.com
On the record
- Build requirements
- Building from source requires g++ 4.9+ and CMake, and the repository should be cloned with its recursive option.github.com · read 8 Oct 2026
- Contributions and help
- The README welcomes contributions through issues, pull requests, and documentation improvements.github.com · read 7 Oct 2026
- Detection categories
- It groups detected anti-patterns into logical database design, physical database design, query, and application development categories.github.com · read 7 Oct 2026
- Detection coverage
- It lists anti-patterns in logical database design, physical database design, queries, and application development.github.com · read 8 Oct 2026
- Downloads
- The README lists Debian, RPM, macOS DMG, Windows EXE, and ZIP downloads.github.com · read 7 Oct 2026
- Input
- The command line accepts a SQL file name for analysis.github.com · read 7 Oct 2026
- Input and output
- The command-line tool accepts a file name and offers color and verbose modes.github.com · read 8 Oct 2026
- Integrations
- The maker pages opened describe a standalone command-line utility and do not state integrations with other products.github.com · read 8 Oct 2026
- License
- The repository says SQLCheck is licensed under the Apache License.github.com · read 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 · read 8 Oct 2026
- Maker
- The GitHub profile identifies jarulraj as Joy Arulraj, an Associate Professor at Georgia Tech in Atlanta.github.com · read 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 · read 8 Oct 2026
- Output options
- The command line provides color and verbose modes.github.com · read 7 Oct 2026
- Purpose
- SQLCheck automatically detects common SQL anti-patterns that can slow queries.github.com · read 8 Oct 2026
- Release features
- The v1.3 release lists line numbers and exit status 1 when anti-patterns are found.github.com · read 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 · read 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 · read 8 Oct 2026
- SQL dialects
- The project says it targets all major SQL dialects.github.com · read 8 Oct 2026
The review
SQLCheck is a free command-line scanner for developers who want to review SQL files for patterns that can slow queries. Its risk filters and coverage across several database systems make it a useful focused check, but the terminal-only workflow is limiting if you want editing or automatic repair in the same tool.
Overview
SQLCheck organizes findings across logical and physical database design, queries, and application development. That range can help surface structural and usage problems beyond query syntax, while risk filters let reviewers narrow a scan to higher-priority patterns.
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
- Selectable risk levels: Scan all patterns, medium- and high-risk patterns, or high-risk patterns alone. This helps focus a review when time is limited, though the tool does not decide which findings matter most in a particular system.
- File-based scanning: Give the command line a SQL file name to analyze. Version 1.3 adds line numbers and returns status code 1 when it finds anti-patterns, making results easier to locate and usable by scripts that check the exit status.
- Color and verbose output: Both modes are available from the command line. They can make terminal results easier to read, but SQLCheck does not provide an editor extension or configuration file.
- Download and build options: Packages include Debian and RPM downloads, a macOS DMG, a Windows executable, and a ZIP archive. Building from source requires g++ 4.9 or later and CMake, giving technically equipped users another route to installation.
Pricing
SQLCheck costs nothing. The open-source command-line tool has no paid tiers or stated usage limits, so it suits individual developers and teams who can work with local SQL files and a terminal. There are no seat quotas or trial terms to weigh; the trade-off is that the free package does not include a hosted service, graphical interface, integrations, or automatic fixes.
Platforms
SQLCheck supports Linux, macOS, and Windows. Its Debian, RPM, DMG, EXE, and ZIP downloads cover common installation paths, and Windows users can run the executable from a terminal such as cmd.exe. The source build is an option for users comfortable with g++ and CMake. The file-based command-line design makes it unsuitable for readers seeking a mobile app or graphical SQL workspace.
Who it's for
SQLCheck is a good fit for developers who want a no-cost pass over SQL files, especially when they need to focus on higher-risk patterns or scan across multiple database dialects. It is less suitable for people who expect editor integration, automatic correction, a graphical interface, or a hosted workflow.
Pros and cons
- Pro: Risk-level selection helps teams prioritize findings instead of treating every detected pattern as equally urgent.
- Pro: Coverage spans design, query, and application-development categories, with named support for five common database dialects.
- Pro: Line numbers and a nonzero status when findings appear help users locate issues and incorporate checks into scripts.
- Con: Analysis starts from a SQL file in a terminal, which is less convenient for users who want to work inside an editor or graphical app.
- Con: SQLCheck identifies anti-patterns but does not automatically fix them, so users must evaluate and address findings themselves.
- Con: The project does not describe integrations with other products, limiting its fit for workflows that depend on connected development tools.
Alternatives
For a wider platform range, consider Squawk, which supports Android, iOS, web, extensions, and self-hosting as well as desktop platforms. Choose sqlfmt if browser-based formatting without installation is the priority; its Browser formatter is free at no cost. pgFormatter is another free option, distributed under the PostgreSQL Licence.
Poor SQL offers online and offline formatting plus SSMS and Visual Studio plugins, making it the more relevant choice for those workflows. Sleek is a free SQL formatter for Linux, macOS, and Windows. For a free BigQuery parser and linter built as a MIT-licensed Python package, consider SQLint. sqlfmt has a free plan with 20 analyses per day, five dialects, live formatting, saved snippets, and history, which may suit users who want a web-based workflow. Sqruff supports extensions, web, and self-hosted use alongside desktop platforms. Browse SQL Linters and Formatters to compare more tools.
Verdict
Choose SQLCheck if you want a free, cross-platform command-line scan that groups SQL anti-patterns by category and lets you narrow checks by risk. Its focused scanning and script-friendly findings are the main reasons to choose it; look elsewhere if you need formatting, automatic fixes, editor integration, or a graphical interface.