SQLTools Database Management for VS Code
Database management for VSCode
At a glance
- What is it?
- SQLTools adds database connections, query execution, result viewing, history, bookmarks, formatting, and an INSERT generator to Visual Studio Code. It is aimed at developers who want database work inside the editor, with database-specific behavior supplied by separate driver extensions.
- Who is it for?
- SQLTools is a sensible fit for developers who already use VS Code and need repeated access to MySQL, PostgreSQL, SQL Server, MariaDB, SQLite, or compatible databases from the editor. It is less suitable for users who need a standalone administration console, broad schema tooling, or a fully documented rollback workflow.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Why SQLTools belongs in a VS Code workflow
SQLTools solves a specific developer problem: moving between code and a separate database client for routine connection checks, query execution, result inspection, and SQL editing. Its target user is the developer who already works in Visual Studio Code and wants those tasks available in the same interface. The extension description names a connection explorer, query runner, IntelliSense, bookmarks, and query history, while the README also identifies a SQL beautifier, an INSERT query generator, and a connection explorer.
The project is organized as a set of VS Code extensions rather than one self-contained database client. The core extension provides the shared SQLTools interface, and a separate driver supplies database-specific connectivity. That design matters when choosing SQLTools because installing the core package alone does not establish a connection to a particular database.
The documented database drivers cover CockroachDB, MariaDB, SQL Server, MySQL, TiDB, PostgreSQL, and SQLite. MariaDB and TiDB use the MySQL driver package, while PostgreSQL and CockroachDB use the PostgreSQL driver package. SQL Server has its own driver package, and SQLite has a separate SQLite package. The README also lists community drivers, but its table is truncated before those entries are fully visible, so their exact support and maintenance status cannot be confirmed from the repository documentation.
SQLTools is therefore most directly aimed at developers doing development-oriented database work. The README does not describe administrative features such as backup orchestration, server provisioning, or production change management. It also does not claim that SQLTools replaces a dedicated database administration tool. The narrower proposition is that common SQL work can remain beside source files and editor tooling.
The core extension and driver data flow
SQLTools uses a pluggable driver architecture. A database driver is a separate VS Code extension that is installed alongside the core SQLTools extension. Once configured, SQLTools presents the connection in its pane, sends the user's query through the selected driver, and displays the returned result in VS Code.
That separation gives each database family a place for its own connection logic and presentation behavior. The repository layout includes packages such as `packages/driver.pg`, `packages/driver.mysql`, `packages/driver.mssql`, and `packages/driver.sqlite`. The top-level `package.json` declares `packages/*` as workspaces, so the repository is a monorepo containing the extension and its drivers rather than a single small extension file.
The visible user flow is connection first, query second. After a connection is created, SQLTools exposes its connection explorer and query interface. The query runner can execute SQL and show results. History and bookmarks address repeated work, while the formatter handles SQL beautification. The INSERT generator creates a starting query for inserting data, rather than replacing database-specific data entry tools.
The driver boundary also defines the main adoption risk. Installing the MySQL driver does not mean that every MySQL-compatible product will behave identically, and installing the PostgreSQL driver does not guarantee compatibility with every PostgreSQL-derived service. The README identifies specific databases as official drivers, which is more useful than a broad compatibility claim, but it does not document version matrices, authentication edge cases, SSL settings, or connection timeout behavior.
Installing SQLTools and creating a first connection
The documented installation path uses the VS Code Extensions view. SQLTools does not present a command-line installation in the README, so there is no documented shell command to reproduce here.
In VS Code, open the Extensions view in the left bar and search for the driver tag documented by SQLTools:
@tag:sqltools-driverThis is a VS Code extension search term, not a package installation command. The Extensions view should list the available SQLTools drivers. Install the driver that matches the database you intend to use. According to the README, installing that driver also installs the core SQLTools extension.
Next, click the SQLTools icon in the left bar. Hover over `CONNECTIONS` in the SQLTools pane, click the `Add New Connection` icon, choose the driver, and enter the connection parameters. The documentation does not enumerate every parameter or show a connection file format, so the exact fields will depend on the selected driver and the database's requirements.
After the connection is accepted, open it from SQLTools and run a query in the query interface. The expected result is a SQLTools query view able to execute SQL and display returned data. The documentation does not specify a sample query, a schema browser behavior, or a separate credentials prompt, so those details should be confirmed in the selected driver's documentation before using it with a sensitive database.
Formatting, history, bookmarks, and generated INSERT statements
SQLTools extends basic query execution with features that reduce repeated editing work. The documented formatter and beautifier can format SQL code, which is useful when queries are maintained in files or edited directly in the SQLTools interface. History records prior query activity, and bookmarks provide a place to retain selected queries for later use.
The connection explorer is the central navigation point after setup. It gives the developer a place from which to open or manage configured connections, rather than requiring every query session to be created from scratch. The query runner returns results within the extension workflow, so the database interaction is not completely separated from the editor.
The INSERT generator has a narrower purpose. It helps create an `INSERT` query, but the README does not say that it introspects table structure, validates columns, reads a schema, or generates a fully populated statement. It should therefore be understood as an editing aid, not as evidence of a complete data modeling or migration system.
The repository and documentation indicate a focus on everyday SQL development. The package metadata mentions IntelliSense in the extension description, but the README does not explain when suggestions are available, which drivers provide them, or how complete they are. That distinction matters for adoption because the feature may depend on driver behavior and database metadata.
Where SQLTools falls short against standalone administration tools
The clearest limitation is the size of the documented feature set. SQLTools focuses on connections, querying, results, formatting, history, bookmarks, and a small SQL generation aid. The README does not document backup scheduling, replication controls, user and privilege management, migration tooling, or server monitoring. A standalone database administration client may be the better tool when those tasks are the primary requirement.
There is also no documented rollback procedure. The README does not explain whether query actions can be undone, whether generated statements are validated before execution, or how destructive SQL changes are surfaced. That does not prove that safeguards are absent, but it means an engineer cannot rely on undocumented behavior when deciding whether the extension is suitable for production changes.
Driver support is also a practical boundary. The project requires a separate driver extension, and the availability of a driver does not establish feature parity across databases. The README names official drivers for several systems and says that missing drivers can be written using a new-driver guide, but it does not provide compatibility versions or a support policy for community drivers.
Compared with a database-specific client, SQLTools takes a different approach: it stays inside VS Code and uses interchangeable extensions for connectivity. That is a good fit for editor-centered development, but less suitable when operational control and database-specific administration are more important than editor integration.
Maintenance, licensing, and upgrade boundaries
The repository is not archived, and its last push was on 2026-10-16. The most recent listed core release is `v0.28.6`, dated 2026-07-06, while the MSSQL driver has separate releases including `mssql-v0.4.10`, dated 2025-09-29. These are separate version streams, which is important when checking compatibility between the core extension and a database driver.
The project is licensed under MIT. The README does not provide legal advice or details about third-party database driver licensing, so teams should review the license files for the core project and any separate driver package they plan to redistribute. The MIT identifier in the repository metadata should not be treated as a substitute for reviewing dependency licenses.
The repository uses Yarn workspaces through a top-level `package.json`, with a `yarn.lock` file and packages under `packages/`. That layout matters for contributors and maintainers because an upgrade can affect several packages rather than only the visible core extension. The documentation does not give a supported upgrade procedure for installed VS Code extensions, nor does it state whether driver upgrades are backward compatible. The practical boundary is therefore clear: confirm the core and driver versions before upgrading a working setup.
Editorial conclusion
SQLTools is a sensible fit for developers who already use VS Code and need repeated access to MySQL, PostgreSQL, SQL Server, MariaDB, SQLite, or compatible databases from the editor. It is less suitable for users who need a standalone administration console, broad schema tooling, or a fully documented rollback workflow. Check driver compatibility, required connection parameters, and the security behavior of your selected database and driver before adopting it. For an existing SQLTools installation, verify first that the installed core extension and driver versions are appropriate, since the repository lists a recent core release and a separately versioned MSSQL driver release.
Frequently asked questions
How do I install SQLTools in VS Code?
Open the VS Code Extensions view and search for `@tag:sqltools-driver`. Install the driver for your database, which the README says also installs the core SQLTools extension.
Which databases does SQLTools support?
The README lists official drivers for CockroachDB, MariaDB, SQL Server, MySQL, TiDB, PostgreSQL, and SQLite. It also lists community drivers, although the repository table is truncated before their full details.
How do I create a connection in SQLTools?
Open the SQLTools icon, hover over `CONNECTIONS`, click the `Add New Connection` icon, choose the driver, and enter the connection parameters. The README does not enumerate the fields for each driver.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/mtxr-vscode-sqltools)Was this useful?