Are you looking for an SQL IDE (Integrated Development Environment) or SQL editor? Take a look at this list of all of the IDEs currently available.
This guide is a comparison of all SQL IDEs currently available. It’s a list of all SQL editors available for major databases: Oracle, SQL Server, MySQL, PostgreSQL, SQLite, and MariaDB.
I’ve seen many questions on websites such as Quora and Stack Overflow about “which IDE is the best” and “which SQL Editor should I use”, and while there were some good answers, there wasn’t really a single place to compare all of the options.
Some sites had a comparison of IDEs but they were out of date. This guide has been created and was last updated in 2020.
Also, the criteria for this list was:
- Must be able to write and run SQL queries. This excludes text editors such as Notepad++. While Notepad++ is a great tool and has SQL syntax highlighting, it doesn’t let you run SQL queries. It also excludes data modelling tools and data visualisation tools.
- Must have a graphical user interface. This excludes tools like SQL*Plus and SQLcl.
A Few Things I Noticed
Before we get into my recommendations and more details about each IDE, there were a few things I noticed when testing and analysing these SQL editors.
First, the connection process was different for many of them. Some were simple and just involved entering a database, service name, username, and password. Others involved setting up a System DSN on your computer and connecting via that, and others involved installing other drivers and tools just to connect. The easier a tool is to create a connection, the better.
Many features seem standard and were implemented in different ways, such as explain plans. Many other standard features were implemented in a similar way, such as code complete or exporting data.
The user interfaces were quite different between them. Some were good, and some not so good.
Also, I didn’t spend a great deal of time with each IDE as that would take too long. Some features may actually exist where I’ve said they don’t, or I might have done something wrong that causes the error. So, if you’re a vendor of one of these tools, and I’ve gotten something wrong, please let me know via the comments or the contact page.
Are you not interested in reading through the details of all different pieces of software? Do you just want me to tell you which IDE is the best one to use?
Ok, here you go. Based on my opinions and the time I spent with each IDE, here are my thoughts on each of the SQL editors available:
- Best Oracle SQL IDE: Toad for Oracle
- Best Free Oracle SQL IDE: SQL Developer
- Best SQL Server IDE: SQL Server Management Studio
- Best Free SQL Server IDE: SQL Server Management Studio
- Best MySQL IDE: MySQL Workbench
- Best Free MySQL IDE: MySQL Workbench
- Best PostgreSQL IDE: DataGrip
- Best Free PostgreSQL IDE: DBeaver
SQL IDE List
This table summarises all of the IDEs in this list. Click on the name of the IDE to be taken to the place on this page with more information.
Use the filters to restrict the IDEs to free/paid, operating system, and database.
|Name||Free or Paid?||Oracle||SQL Server||MySQL||PostgreSQL||SQLite||MariaDB||Windows||Mac||Linux|
|Aqua Data Studio||Paid|
|EMS SQL Management Studio||Paid|
|EMS SQL Query||Paid|
|Alt SQL Developer||Paid|
|Advanced Query Tool||Paid|
|SQL Server Management Studio||Free|
|Azure Data Studio||Free|
|Visual Studio with SQL Server Data Tools (SSDT)||Free|
PL/SQL Developer (Allround Automation)
PL/SQL Developer was the first IDE that I used when I started my career. I came from university where we used SQL Developer (version 1) and moving into PL/SQL Developer at the time was a big move. I was very impressed with it back in 2007.
I haven’t used it a lot since, but it’s among the three most recommended IDEs when browsing the Internet (along with Toad and SQL Developer).
It’s often mentioned in reviews and questions about Oracle IDEs as being a good choice if you’re willing to pay the money for the license. It’s often mentioned as being “almost as good” as Toad. In my opinion, it’s a great tool and will really help you work with SQL.
It’s easy to create a connection in PL/SQL Developer. After connecting, the first thing I noticed was the clean UI. It has large toolbar buttons and uses a ribbon concept, which I think is the best way I’ve seen of organising many functions.
When writing and running a query, it’s easy to see the results of the query. The result rows have alternating colours, making it easy to read.
The Window List shows a list of all open tabs. You can rename these to give them a more useful name, and you can also see which files are not saved, which are currently executing, and which are transactions.
You can add templates to your code for all kinds of code requirements, which is a great time saver.
PL/SQL Developer includes a Project concept, but it took me a little while to get used to how it works. There’s a sidebar that shows project objects but I couldn’t quite understand what it was picking up.
There is a Test Manager feature included in the tool which looks promising and is a good way to handle any tests you need to run.
It includes an inline editor in the results panel, but you need to include the ROWID in your SELECT query to do this. It works, but it just takes an extra step to be able to update the data.
There are a lot of little features in PL/SQL developer to make it easy to use: saving the layout, toggling windows, compare objects, and code assistant. It’s a great tool, and there’s no wonder it’s received a lot of praise from the Oracle industry.
- Lots of features. Everything you need to use as a developer
- The ribbon UI is a great way to organise all of the available options
- The name. It can be hard to Google problems or tips with the software as it’s also a job title. (I know it’s a minor point!)
- The “project” concept is a little harder to understand than just a collection of files like other IDEs.
Ask any Oracle developer or browse any Stack Overflow question about Oracle IDEs, and you’ll most likely find that Toad is the best Oracle SQL editor that’s available.
It has great features and is highly customisable.
But the thing that holds people back from using it is the price.
If your company can pay for the licenses, then that’s great news. However, many companies can’t afford the price, or can’t justify spending that much money on licensed software, so it’s not an option for many.
After installing Toad and running it, I found that connecting was pretty easy. There were several options to choose from, and I used a direct connection.
Once I connected, the user interface showed the project manager or explorer on the left, and the SQL editor in the middle, with the results and other tabs at the bottom.
My first impression was that there were a lot of toolbars and tabs. Originally, only a small section of the window is used for the SQL editor. But, the layout can be changed to suit your needs. Toolbars can be hidden and panels resized to make this better.
The Jump Search lets you search Toad for all of the settings and tools that are included, which makes it easy to find something.
There are so many extra features included in Toad: refactoring, replacing join syntax, sync order by with group by, integration with version control, compare data to other tables/schemas/databases… the list goes on.
Every feature that I was looking for in an IDE exists in Toad. There are so many features that I didn’t have the chance to explore them all.
It receives high reviews in the industry and is usually the most recommended IDE by SQL developers.
It’s easy to see why Toad is recommended so often. It’s a great tool, has every feature you would need, and I can’t find any faults with it!
- A lot of features – probably any feature you’ll ever need
- Good connection manager
- Very customisable
- Jump search lets you find options easily
For this article, I reviewed two versions of DBForge: Professional, and Express.
The Professional version is the fully-featured version of DBForge, and includes the most features out of the three (the other two versions being Standard and Express).
The installation process was easy and neat looking. I did get an error about the .NET framework when installing, but I had no issues running DBForge after this.
When you run the program, you are asked for connection details right away. This is easy to enter, and it allows you to test the connection before saving to make sure you entered the right information, which is a feature I like in IDEs.
The object explorer is useful and seems pretty standard. It’s easy to write a new SQL query and run it. The autocomplete for keywords comes up when writing queries, and even adds a table alias (which is very useful).
The results show quickly in a table. There’s also another feature that I haven’t seen before – it shows the data types of each column at the top of the column. This is a very useful feature for developers – I wish I knew this information for all of my queries! It can help you work out what functions you need to use on columns if you’re building a large query, debugging, or writing a stored procedure.
DBForge includes a lot of data export options, and there are many other features such as debugging, SQL history, database diagrams, and an execution plan.
The project explorer seems useful and pretty straight forward. Files can be added to it to make it easy to organise.
SQL formatting is included, and you can create profiles to adjust the formatting rules. There are a lot of settings that can be changed, which is good. There are also a lot of DBA features.
I only used the tool briefly but it seems like a very complete tool.
The second version I tried out was DBForge Express, which is their free edition but has limited features.
Many of the features are the same as the Professional edition: data types on columns, code complete, SQL history, database diagrams, and inline editing.
One feature I noticed that was not included was the SQL formatter, which is only available in higher versions. Also, both the import and export feature was limited to 50 rows in the Express version. The project explorer is also not included.
Otherwise, in my experience, it behaves pretty much the same as the Professional version. You can view the Devart website to see the specific differences between each version.
Overall, DBForge Professional seems like a complete tool and has a lot of great features for database developers. It’s up there with Toad and PL/SQL Developer as a great paid choice for SQL development tools. The Express edition is a great free version, but doesn’t include many of the Pro features which may be useful to you.
- Great set of features
- Project explorer is useful
- Showing the data types on the columns of results is great
- Can’t think of anything for the Professional version!
- Express version may not be suitable for you if you require the features that are limited
The installation of DataGrip used a standard Windows installation wizard, and was pretty easy.
When I ran DataGrip for the first time, I was asked to choose some setting such as colour themes and the dialect (the SQL type I was using, e.g. Oracle).
I set up a new connection by entering the Oracle database information, which was pretty easy. But then it was unclear what to do. The new SQL window had no toolbar buttons on it to run a command, and I couldn’t find a Run command in any of the windows.
It turns out there was a small Download Drivers message at the bottom of the connection window that I needed to click on.
After that, the connection test was successful, the IDE appeared, and there was a toolbar displayed for running the SQL. When I ran the SQL, a grid was shown at the bottom, as I expected.
The UI of DataGrip was pretty clean. DataGrip has a lot of features that are useful to database developers. It has inline editing of results, an object browser, SQL history, importing and exporting of settings, and lots of settings to change. It includes functionality for plugins you can install on your own.
It includes an SQL formatter and settings to change how it behaves. It has some good code manipulation options, such as code folding. The tool reminds me of other IDEs I have used for web development over the years.
Some of the features I have seen in other IDEs that I don’t see in DataGrip are a debugger, a visual query builder, and reports. But of those three, a debugger is probably the only one that is a core feature – the other two are more “nice to haves”.
It has a Find Action feature, which lets you search for something you want to do, and the tool tells you where the option is. This is a great feature!
DataGrip also has a Productivity Guide, which shows you some great ways to use the tool better and be more productive with it. This is also a great feature that would be good for new users and those still getting used to the tool.
Overall it’s a great tool, with a clean user interface, and I can’t find anything to fault it.
- Clean UI
- Lots of core features and settings to change
- Great extra features such as Productivity Guide and Find Action
- Had to download drivers separately (but this was only a minor issue)
- No debugger for PL/SQL
Aqua Data Studio (Aqua Fold)
The installation process uses a standard Windows installation which felt familiar. When I went to activate the trial, I found that I needed to be online so that the IDE could connect to the server. This was a little annoying as I was offline a lot of the time when I was preparing this guide, and would have thought t was built in to the software. But I understand that in most environments where this would be used, an online connection would exist.
A new connection was easy to set up (it’s called a “server” in Aqua Data Studio), and I had no issues with this.
A new SQL window is called a Query Analyser. I wasn’t sure what this “Query Analyser” option was in the menu initially, but I clicked it and found it was a new SQL window.
The first query I ran showed me an error, which was because it had a semicolon at the end of my query. A couple of IDEs have shown that they don’t like semicolons at the end of queries, which I found a bit strange, as it’s good practice.
Other than that, the output window looks good and shows all the results. There’s an ability to view a chart and export the data to Excel.
Another great feature is that it shows a sum of values. You can select some values in the result set, just by clicking on them like they were a spreadsheet, and this SUM field will show their sum. This can help in analysing data quickly. You can change the sum to use count, average, max, min, or standard deviation.
The menu structure was good, and I felt it was easy to find what I needed to do. You can customise the toolbars, which is helpful.
There are a lot of features in Aqua Data Studio to help you develop SQL faster and easier. There’s even an Automate menu which contains some SQL templates for inserting into your queries.
Overall it’s a very impressive tool.
- Good UI, easy to use, and the menu is well structured
- Lots of features
- New terminology takes some getting used to
- Error when using semicolon seems strange
SQL Detective (Conquest Software Solutions)
Setting up a connection in SQL Detective was pretty easy. The user interface is then loaded, and the first thing I noticed was that the SQL editor was at the bottom and the results pane was at the top. This is different to most editors I have used, but it’s something I can get used to.
One issue I immediately noticed was the width of columns. When I ran a query, the result columns were not spaced very well. It seems they were set to the maximum width of the VARCHAR2 column (e.g. 100 characters), instead of auto fitting to the data and title. This meant I had to scroll to the side to see all of the data.
However, there is a button you can click to auto fit the results, but this does not save between queries. There is also a setting that can be changed to set auto fit as the default, so this is not a big issue in the end – just something I noticed on the first run.
It includes a Query By Example editor, which lets you enter parameters to filter and sort by. There’s a code assistant which helps generate syntax for all kinds of SQL commands. It also includes a workspace save and restore functionality, which is something I have seen in several IDES and is useful.
A lot of extra tools are included in SQL Detective such as a profiler, code audit, data comparison, debugger, and a macro recorder which could be a real time saver.
There is a Page List feature, which is like a window list in other IDEs, and it lets you see all of the pages or tabs currently open, and a short version of their SQL code. This makes it easy to navigate to the tab you want.
SQL Detective includes basically every feature you would want from an SQL IDE, plus more. I can’t find any fault with this tool, except that you’ll have to get used to the editor being on the bottom of the screen (which wouldn’t take long).
If I was to pick one thing, I would say that the UI could use some cleaning up? There seems to be a combination of gradient buttons with arrows, depressed cells, toolbars, and icons. I’m not sure if there’s a better way to do this though.
- Lots of features included, everything a developer would need
- Settings can be changed for many features
- SQL editor on the bottom takes some getting used to.
Database Workbench (Upscene)
When I installed Database Workbench, it prompted me to select the database type that I wanted to use. I selected Oracle. This meant that when using the program, all non-Oracle features were not shown. I think this was a good feature to implement.
Setting up a connection was pretty easy. In Database Workbench, it’s called a Server.
After connecting, it shows an object browser on the left, and I can filter this list to just see the object that match the filter.
Creating a new SQL window will show the SLQ editor on the right, and a results pane.
My first thoughts on the UI is that there seems to be a lot of icons and toolbars all over the screen. The SQL window seems small, which could be due to my resolution, but it still seems to only take up a small part of the screen. The good news is that the results panel is easy to read.
There are all kinds of editors available in the menu, which make it easy to create and edit objects. There’s a table editor, materialised view editor, stored procedure editor, and much more.
Database Workbench supports tabs for different files, which are shown at the bottom of the screen. There’s also a Window List feature, which allows you to view these tabs in a list. I think that these window list features are useful and make it easier to browse and select the tab you want to use.
There are a lot of other features included, such as an ERD creator, and data comparison.
One of the features I was most impressed by was a Test Data Generator. This could be very useful for developers looking to test code, create tables quickly, or just solve problems. I didn’t play around with it too much, but I can see it being a useful feature.
The SQL window and results panel site inside their own sub-window, and they can be expanded to take up this entire sub-window. This makes it easy to switch between viewing the query and viewing the results.
One thing I couldn’t find was an SQL formatter. There was no way to format the SQL code that I typed in. This is a helpful feature for many developers, myself included.
It looks like a pretty good tool for writing SQL. The user interface looks a bit cluttered with all of the toolbars, but many of them can be moved or hidden. All of the features seem well polished.
- Lots of features, almost everything you’d ever want in an IDE
- Test data generation tool looks promising and is a handy feature
- Lots of customisation available
- Results and SQL commands are easy to read
- Doesn’t include an SQL code formatter
- UI seems a bit cluttered on initial setup, but can be customised
SQL Developer (Oracle)
Oracle’s very own SQL Developer is the IDE that I have the most experience with. It’s the one that I set up whenever I install a new Oracle instance on my computer, or when I need to work at a client site.
It’s free, has great features, and gets the job done. It’s also developed by Oracle, so you know it’s widely used and has a lot of support.
Setting up SQL Developer is pretty easy. In the past, you had to download a JRE and SQL Developer, but with recent versions, you only need to download the one file.
SQL Developer also doesn’t require installation. Download and extract a ZIP file and it’s ready to use.
The latest version of SQL Developer is 20. This reflects the versioning method that was put into effect in July 2017. It stands for year 2020, quarter 2.
Earlier versions weren’t as good as the latest versions. This might seem like a pretty obvious statement, but SQL Developer has come a long way over the years. In versions 1 to 3, it gradually improved but was still regarded as a less-than-ideal solution.
From version 4, however, I feel that it has gotten remarkably better. New features are constantly being added to help database developers and administrators do their work better and faster. It also has a lot of support online, whether it’s in the Oracle forums or various Stack Overflow questions.
I use SQL Developer mainly now, either on a Windows PC, through a Windows VM running on a Mac, or directly on my Mac.
I’ve also written several articles on SQL Developer, and have a course on it inside my Database Star Academy membership site.
If you want to know more about Oracle SQL, then Jeff Smith’s blog is a must-read. He provides regular articles and videos about SQL Developer (as well as some other tools), and his tips have shown me things I didn’t know in the tool and have helped me us it a lot better.
Being free and compatible with different operating systems is an advantage, and has lots of features. The Java-based UI and file creation/browsing is an area for improvement (in my opinion).
Now, let’s take a look at some of the pros and cons of SQL Developer, in my opinion.
- Free, and always adding more functionality. Recent versions are a lot better than old versions.
- No installation required, meaning you could run it from a USB drive if required.
- Importing and exporting connections is useful for team sharing, and colour-coding connections is useful to make sure you’re actually running on dev and not prod by mistake.
- Can turn off features that you don’t use, resulting in faster load times.
- Lots of customisable features, including UI theme and shortcuts
- Java-based File dialog, making it hard to browse and open files, and set a default location.
- You can’t create a new SQL tab/worksheet easily. You need to create a new SQL file, which takes several steps.
- DBMS Output is turned off by default and isn’t immediately apparent how to turn it on
DBeaver (Serge Rider)
DBeaver was one of the better free SQL IDEs that I tested during my research for this article.
The installation was pretty smooth, and included the JRE as an option. When it was installed, it started up after a splash screen/loading screen was displayed.
The process to create a connection seemed easy. However, I did have to download some Oracle JDBC driver files from the Oracle website I would have liked to see this included in the software, but it’s a minor thing. After this was installed, the connection worked.
What I liked about DBeaver was that even though it was Java based, it had a good looking user interface. It is clean and easy to understand. It doesn’t look like other Java-based UIs like Squirrel, and is pretty quick.
DBeaver allows you to edit data in the results grid, and save or cancel those changes using buttons that appear. Also, the auto-complete of table names and column names is fast.
The toolbar at the top seems crowded, but that’s because it includes other options such as a transaction log, auto/manual commit, and the username. Once you get used to the keyboard shortcuts, then you may end up ignoring the toolbar.
Another feature I liked about DBeaver was their concept of Projects. It seems similar to other IDEs, where a project is a container of files that can be used. Projects in DBeaver allow you to include scripts (SQL files), ER diagrams, bookmarks, and connections.
I didn’t play around with the ER diagrams, bookmarks, or connections, but I tested the scripts functionality in the project. This looks like it would be very useful, especially if you work with multiple sets of files. Something I’m always mindful of when I use IDEs is how they handle files, and it seems DBeaver does this well.
There are a lot of options that can be changed in the Preferences window. Not as many as SQL Developer, but there are enough to tailor your experience to what you need, which I think is pretty good. There are also a lot of features in DBeaver which I haven’t yet explored.
- Projects concept makes file management easy
- Good UI
- Lots of features and preferences
- Separate Oracle driver made setup a little slower and connection process harder.
Rapid SQL (Idera)
Installation of Rapid SQL was easy. I received the trial serial number in an email and used that to test the tool.
There’s a wizard for setting up the connection, which was helpful, but I felt there were too many options. Many other IDEs just allow you to enter three or four pieces of information.
The UI of Rapid SQL looked familiar, which was good. The object browser shows all kinds of objects, in alphabetical order. You can apply filters to only show the objects that the current user owns, which is useful.
There’s a project creation feature, but when I used this, it started to reverse engineer the database. It seems I left the “from database” option selected. I went back and selected “Don’t Initialise”, which seemed to just create a project.
Running a query was pretty easy, but the results show in a different tab to the query, rather than the query at the top and the results at the bottom. This isn’t what I was used to, but after using it for a while, it makes sense to me. Being able to see more of the results while looking at it is helpful, and seeing more of the query is useful. In other IDEs I’m often resizing the results pane to show more results or show more query. Having a separate tab eliminates that.
There are some handy features in Rapid SQL, such as a Script Library which supports scripts you want to use often, version control integration, export to many formats, a query builder, file diff comparison, debugger, and importing data. The features in Rapid SQL seems to be done well – it doesn’t seem half-complete.
The features it doesn’t have are more “nice to have” features, but I think you can get all of your work done without it.
Rapid SQL is a great tool, and has some great features for developers. The only faults i can find is getting used to the UI in a few places (new connections, new project creation).
- Lots of features and they seem well implemented
- Results are on their own tab, which is different, but I like it
- Connection wizard seems to have too many options
sqldbx (ACS Technologies, Inc.)
SQLDBX was easy to setup. There’s no installation needed. The zip file contains just three files: an executable, a help file, and a PDF setup guide.
Creating a connection was pretty easy. I just selected the database type, entered the details, and clicked OK.
It has a standard looking UI. The object browser is on the left, the SQL window is on the right, and the results and messages are shown at the bottom. The tool is fast. The results form my test query displayed very quickly. I’m not sure how it would handle larger queries but it performs pretty well from what I can see.
The object browser shows tables views, procedures, functions, and packages. It also allows you to set any of these objects as a favourite, which shows in a Favourites section. This can be a time saver if you work with a few objects regularly. You can customise your results by showing totals and adding filters using the menu options here.
The personal edition claims to be limited in features, and I have noticed two features that don’t seem to work on this edition: SQL Formatter, and Query Plan.
Both of these features are pretty important to database developers. Not crucial, but they are big time savers. The omission of these features could be a deal breaker for you, unless you want to buy the full version. The full version isn’t that expensive, and if this is your career, it might be something you want to invest in as you can use it for many years.
SQLDBX includes a file explorer and uses multiple tabs, which is helpful.
There are a lot of ways to generate scripts for altering the database and making changes to your data, which is good if you want to do it without writing SQL queries from scratch.
There is also a speed typing feature, which lets you set up replacements for shorter key combinations. For example, you can replace “ssf” with “SELECT * FROM” to save you some time.
- Runs without installing
- Has a lot of features for a non-installed product, even the free version
- Some features are only available in the full version (which may be worth your investment)
- UI looks a little like MS Access
KeepTool is a tool offered by the KeepTool company and is one I haven’t seen recommended very often, but when it is, it’s always a positive review.
KeepTool offers three versions of its software: Free, Professional, and Enterprise. I tried KeepTool out for myself (both the free and paid versions), and I was impressed.
Connecting to a database was easy. I specified my username and password and selected XE from the dropdown menu. I could have also typed in the connection manually. It seems the drop-down of connection hosts was populated from my TNSNAMES.ORA file but I wasn’t sure.
The SQL editor or window is good and easy to use. The code is colour-coded and can be indented as you’d expect from an editor. There’s a handy ruler at the top of the window to indicate character count, which is helpful if your team coding standards indicate you should have a maximum line width.
KeepTool includes a visual query editor, which looks and works similar to the Microsoft Access query editor. You can drag tables onto the query area, select columns, apply joins and filters. It’s not something I use in any IDE, as I prefer writing my queries in text, but it’s good to know it’s there.
There’s a Data Browser section that allows you to see the data in a table in an easier way. You can see all of the data in a table, and apply filters to it. It also allows you to browse the related data (using foreign keys) from this section, which is a great way to see data that’s related to other tables. It’s not something I’ve seen before and I really like it.
One of my favourite features was the SQL Scratchpad. It’s a section on the screen that is essentially a simplified file hierarchy. It allows you to create items in a tree, which are separate SQL files. These files allow you to have different sets of queries open in the IDE, similar to tabbed browsing in other IDEs.
The good thing is that adding a new entry or creating a new file here is simple. You just add an item where you want it in the hierarchy and enter a name. Behind the scenes, these are all created as SQL files or folders. You can create multiple levels as well. This is a great time saver, especially when working with many files or if you want to open a new tab quickly to test out some code.
The export to Excel feature was quite easy, you just click a button and a temporary Excel file is generated and displayed. No need to save it separately and open it if you don’t want to.
There are some settings that can be changed in the program. There aren’t as many as other programs, such as SQL Developer, but there is still the option of changing quite a lot of options.
Overall, KeepTool is a great tool for running SQL queries on your database. The paid editions include a lot more features for both SQL development and database administration, and I believe it’s one of the best tools out there. A more detailed review of the paid versions has been published by Bill Coulam on OraFAQ which you can read here.
Regular updates are made to the tool. The release notes are available here, which shows there are new versions every few months. This is a good thing for an IDE.
- Easy to connect to a database
- SQL Scratchpad concept makes it easy to create new SQL files or tabs
- Runs quickly
- Lots of features included but it’s not overwhelming to use
- Can’t think of any!
Navicat (PremiumSoft CyberTech Ltd)
The installation of Navicat Essentials was quick. After loading, I went to set up a connection, which was pretty easy. However, when I tried to connect, it showed an error: “Oracle library is not loaded”. (Update July 2018: I’ve been informed by Navicat that this bug is now resolved)
This was confusing to me as I thought the libraries should come with it. However, after contacting support and trying a few things, I got it working. It turns out it was because I had installed Oracle Express 64 bit and this tool only worked with the 32 bit version. After installing the 32-bit version instead, I was able to connect.
After connecting, the user interface was shown and it looks pretty clean. There are several large buttons at the top, an object browser on the left, and connection details on the right. I clicked New Query and a new SQL editor appears.
I couldn’t see an auto-completion function appear for my table name, even when pressing some keyboard shortcuts. After running the query, the results are shown. Both the SQL editor window and the results panel were easy to read.
The Explain Plan wasn’t working for the query that I ran, or several other examples. An error was shown: “filter_predicates: invalid identifier”.
An SQL history is available, but it’s not easy to read. It seems like a text file with timestamps in between the queries. It could just take some getting used to.
Overall, it’s a simple tool that lets you run queries and see results. It seems more polished and has a better UI than some of the other basic tools. However, I would expect more from a paid tool.
- Easy UI
- The features it does have are done well
- Object browser by category is helpful
- It’s missing some features that you would expect in a paid product
- The Explain Plan threw an error for me
- I had issues setting up the connection which weren’t clear
DB Visualizer (DbVis Software)
I reviewed both the free and paid versions of this tool, and both were pretty good. The installation process was pretty simple. They offer two options to download: one that comes with the JRE and one that doesn’t. It also includes a range of JDBC drivers including the OCI and Oracle THIN, which I’ve had issues with other IDEs.
Creating a new connection was pretty easy. I entered in the name, and provided additional details like the username and password, and it was done.
The IDE itself has a standard looking view. It has a sidebar on the left with an object explorer and a file viewer (called Scripts). The SQL editor window is in the middle, and when queries are run, the results display at the bottom. Version 10 allows you to choose the UI you like, and has a dark theme included which is preferable by a lot of developers in other IDES (such as Visual Studio).
The paid version has many more features compared to the free version, which are all outlined on the DBVis website. Some of the main features are an Explain Plan and support for multiple tabs.
Exporting to a CSV or HTML is possible. The CSV export has a lot of options that can be configured, which is great, such as the date formats and the delimiter. This can be a time saving for those who do a lot of CSV exports.
There are a lot of preferences to change within DB Disualizer to make it look and behave the way that you want.
The file management is done using the Scripts tab. You can create SQL files in two sections: either Bookmarks or Monitors. There seems to be a lot of connection management features as well, which would make it easy to work with multiple databases.
Overall, it’s a good tool. Version 10, released in August 2017, has some great new features, such as improved SQL logging, merging of result sets, error markers, and the ability to change an Oracle password even if it has expired (which happens to me sometimes!). The Pro version has a lot of features and I can’t think of anything to make it better!
- Easy to set up a connection
- Familiar UI
- A lot of connection management features
- Can’t think of any!
EMS SQL Management Studio (EMS Database Management Solutions, Inc.)
EMS SQL Management Studio follows an easy standard installation process. It seems to include many different tools, which would come in handy for developers or administrators. However, I’ll only review the SQL Manager for Oracle component of this.
I received an error when trying to connect, but as mentioned below in the EMS SQL Query for Oracle review, this was because I had installed the 64-bit version of Oracle Express instead of the 32-bit version. Installing the 32-bit version instead had resolved this issue.
When I entered and ran a query in the SQL window, the results are shown in a separate tab. I have seen this in a few other IDEs, and it allows you to see more of the query and the results, instead of them sharing space on the screen and having to constantly resize the windows.
The user interface seems a bit cluttered, as though I was running an earlier version of Microsoft Access. Many toolbar buttons at the top of the screen make it seem cluttered, but they can be hidden. There’s also a second sidebar menu that seems unnecessary, but can also be hidden.
It supports multiple tabs which are shown at the bottom of the window.
There are many features that are useful in SQL Management Studio, such as a visual query builder, HTML report wizard, compare database, and ER modeller.
It includes an SQL formatter and allows you to change options. You can also change the keyboard shortcuts or keyboard mapping for the application.
There’s an ability to add external tools to the application. I don’t think they are plugins, and they seem more like scripts or applications to run, but I didn’t test this out so I may be wrong.
Overall it seems like a good tool. There are a lot of features the average developer wouldn’t use, but this can be a good thing as long as the program is stable.
- Lots of features
- Lots of options to change
- Window list helps you view all open tabs
- Grouping databases makes it easy to handle lots of connections
- UI seems a bit cluttered but can be customised
EMS SQL Query (EMS Database Management Solutions, Inc.)
I had some issues getting the connection to work in EMS SQL Query for Oracle. No entries were appearing in the Home Name dropdown box. Reading the help files and following the manual instructions didn’t help either.
Most other IDEs just ask for three or four fields (username, password, host, service name) and let you connect. For some reason SQL Query for Oracle had designed this differently.
After some more investigation, it turns out the error was caused because I was using a 64-bit Oracle Express which was not compatible with this tool. I uninstalled the 64-bit version and installed the 32-bit version (which I probably should have done initially), and the connection worked.
So, if I had set up the database with the 32-bit version initially, this would have been OK. However, I think the connection process could still be improved.
Once the tool had loaded, I noticed the UI looked fairly standard, which was good. The database object browser was on the left, SQL editor on the top right, and results tab on the right as well. The results tab is actually shown in a separate tab, not below the query, which is the same as EMS SQL Management Studio, and another IDE, and it’s actually a good idea.
Just like Aqua Data Studio, it does not recognise semicolons in a query, which I find is a bit strange as adding semicolons is good practice.
SQL Query for Oracle does not support PL/SQL and therefore has no debugger. It also has no SQL formatter.
It doesn’t have a window list feature, and tabs are not visible. So, the only way to switch between windows or tabs within the tool is to use the Window menu.
However, it does support inline editing and code completion.
It seems very similar to SQL Management Studio, but with less features, which is understandable. Some of the excluded features seem like nice to have features (database compare, import into table), but other features are pretty standard in many other IDEs (export results into different formats, SQL formatter).
Overall, it does the SQL querying job pretty well, but with a few extra features, it would be a great tool.
- Favourite Queries is helpful and displayed in the database tree
- Grouping databases makes it easy to handle a lot of connections
- Does not handle PL/SQL or semicolons in queries
- Many seemingly standard features not included.
SQLTools (Aleksey Kochetov)
The user interface for SQLTools has quite a few buttons on it, which can seem good and bad. There’s a standard SQL window at the top of the screen and a results pane at the bottom.
The editor has a ruler-like bar which shows the number of characters, so you can tell how long each line is. It has a vertical grey line at the 80 character mark. I can see the purpose of this ruler, but I don’t know how useful it would be.
It has some good features for a lightweight SQL IDE, such as an explain plan and query history. These might seem pretty standard, but for a free lightweight tool, it’s good they are included.
SQLTools also includes a file explorer, a DDL extraction tool, and a Table Transformation helper, which lets you choose a table and a script is generated to allow you to make changes to it as needed.
Overall it’s a small tool that doesn’t require installation, and it could be used as your “backup IDE” if you are unable to install other SQL IDEs. However, there are some extra features that could be useful, such as SQL formatting.
- Lightweight, small footprint. Can be run from a USB drive.
- Enough features to make it useful if no other options are available.
- Limited functionality
- Does not look to be updated recently or supported, as the website seems out of date.
Squirrel SQL (Colin Bell and others)
Squirrel took me a bit of time to get set up. The installation process was pretty easy. However, when I went to run Squirrel and set up a connection, I had some issues.
Squirrel uses a concept called aliases, which is another name for a connection. An alias uses a driver, which specifies how the application connects to a database. There are a lot of driver options, which makes Squirrel great as it can connect to all kinds of databases.
However, I had to manually configure the drivers to get this set up. Squirrel comes with two Oracle drivers (ODBC and Thin Client) and I had to manually add the path to a JAR file to the drivers tab in order for them to work.
Once I did this, I had to manually update the connection string to make sure it met the specific required format. After all this, I was able to connect.
It would have been good if the drivers were already configured, or if there was a way for the configuration to happen automatically. Also, the connection setup could have been easier – specify the server name, database name, username and password, just like other IDEs. There was a good chance that I could have gotten the connection string wrong.
Now, enough about the connections. After loading Squirrel and playing around with it, it looks like a powerful tool.
The UI has a very Java look and feel. It’s not something I personally like and feels very unintuitive, but that’s just my opinion from using it for a short period. The icons are not easy to immediately understand. Also, the SQL query window is only one line high, which seems unreasonably small for any kind of SQL development. It’s easily expanded though, so it’s a minor annoyance.
I also noticed that there are a lot of tabs on the screen. I don’t know if there’s a better way to lay it out but it seemed a bit cluttered. Also, the Session menu contained so many options that I had to scroll off the screen to see them. This could be improved by moving some options to other menus which hardly had any options.
When running a query, the results are displayed as a grid below the window. It not only shows the results, but shows all kinds of other features that other IDEs don’t have. It shows some metadata about the columns, such as their data types which is very handy. It lets you see a “rotated table” of the results, which is where the columns and rows are switched.
You can prepare reports or charts based on the data pretty easily, which is helpful. It also allows you to drill down into the data based on the data returned for each column, which I can see as being very helpful for analysing your results!
Several other standard IDE features are included and seem to work well, such as code autocomplete, SQL history, visual query builder, and bookmarks for SQL code.
There are a lot of settings in Squirrel that can be changed, which is good if you want to have more control over the software.
Overall it’s a useful IDE with some great features.
- Great features available for the result set (metadata, drill down, reports)
- Lots of settings to change
- UI seems cluttered and could take some getting used to
- A little tricky to set up
Alt SQL Developer (?)
Setting up Alt SQL Developer was pretty easy. It followed a simple and standard Windows installation process. It was also pretty easy to set up a connection to my local database. So it’s a good start!
The UI in Alt SQL Developer is well laid out. There is a standard file/object browser on the left, an SQL worksheet on the right, and the results pane is shown at the bottom. However, I found that the formatting of the UI elements to be inconsistent. There are several different fonts, sizes, and styles used for different areas, such as tabs and labels, which made it feel like it was incomplete. The icons, though, were big and easy to use.
Alt SQL Developer has some good features and the standard SQL IDE features are easy to use. AN Explain Plan is accessible with a toolbar button. The results pane can be exported into many different formats, including different types of SQL commands (Insert, Insert All, Update, and more). Inline editing works well.
One feature I like is the window list on the left side of the screen. This is the list of windows that you have open. I’ve seen it in a few other IDEs and it makes it easier to switch windows. It even allows you to rename the windows, which I think is a great feature and allows you to give nicknames to the tabs you’re looking at.
The DBA menu has a few features that could be helpful to DBAs, including the ability to quickly run commands like seeing the NLS parameters and current users.
There is an option for PL/SQL formatting, but when clicking it, a message is displayed saying it is coming soon.
Overall it’s a useful IDE, but the UI and no SQL formatting hold it back from other IDEs.
- Easy to install and set up a connection
- Many export formats
- Window list and renaming is useful
- UI is a bit inconsistent
- No SQL formatter
The installation of Tora was pretty smooth. Two clicks and it was done. I had a few error messages when running Tora for the first time though, saying there were missing DLL files (MSVCP140.dll and VCRUNTIME140.dll), but after a quick Google search, it meant I needed to download and install the Visual C++ Redistributable for VS2015. After installing that, Tora run successfully.
When opening Tora for the first time, a splash window is shown. However, the problem I have with this is that it is way too big. It was taller than my monitor, and it showed an About tab with a long piece of text, and I think there were several other tabs. This isn’t the kind of thing I want to see when I open the application. I also couldn’t see the OK button at the bottom because of how tall it was, which meant I clicked the X and didn’t see anything happening. It took me a few times to work out what I was doing wrong, and then I could finally open Tora.
After getting into Tora, I was surprised at how quick it ran. Results of queries showed up very quickly, faster than other IDEs.
There are many helpful features, such as explain plan, schema browser, profiler, and unit tester. It supports multiple tabs for files, which seems pretty standard in IDEs but is still useful.
The toolbar includes many icons for all kinds of features, some of which I didn’t explore for the purpose of this review.
Whenever you get an error in your SQL query, it is shown in a popup window. However, the popup window is too small, meaning you need to scroll up or resize it (or both) to see what it is. This is good and bad, as many IDEs show the errors in a separate tab, but this way allows you to see the full error separately. I feel it’s a little intrusive and the window size could be more appropriate, but the idea is good.
One thing I did like that I haven’t seen in other IDEs is the ability to double click on a cell in the results pane and see a small popup window of that value. This is helpful if you want to copy and paste the value without bringing across any special characters from the results table.
Overall, I think it’s a good tool and runs pretty quickly. The UI has a lot of icons, which can be confusing, and the sidebar is a bit non-standard, but over time I think I could get used to it.
- Lots of features
- Splash screen on loading is too large and confusing
- Takes some time to get used to the sidebar and the icons on the toolbar
Advanced Query Tool (Cardett Associates LTD)
I had some issues when trying to install Advanced Query Tool. While it was installing, it could not proceed because the .NET Framework 2.0 was not installed. However I had 4.5 already installed.
After some Googling and installing version v3 and v2 separately, I was able to install Advanced Query Tool.
When I opened it, a splash screen was shown for about 10 seconds as it was a trial version. I could then create a connection, which is based on a system DSN object.
After connecting, I could see the main user interface. It shows an object browser on the left, a list of schemas in the middle, and the object details on the right. I’m not sure how relevant this is to see when you first load the application, as I just wanted to write queries.
You can create a new SQL window, which takes up most of the page. There are some handy options at the bottom of the window to allow you to easily filter or add other SQL keywords to your query.
Advanced Query Tool uses tabs across the bottom of the window to show different SQL windows and the results. The results of your query are shown in a separate tab, which allows you to see more of the results at once. There are some other IDEs that do this, but most of them don’t. I don’t think it’s such a bad idea actually.
The results pane also allows for dragging of a column heading to group by that column, without having to rewrite the query. You can also add subtotals of SUM, AVG, and several other functions. It’s like creating a report or pivot table, and it’s quite easy.
It includes some helpful features such as a query builder, formatting SQL, code completion, and SQL history, which are common in other IDEs. There are some other helpful tools that aren’t common in other IDEs such as a text generator, DDL generator, and comparing objects in a schema and across databases.
As far as the menus go, I found that they could be improved Some many items only have one or two items in them, and the Options menu has none – it just opens the Options window. The Edit menu has a long list and I had to scroll to see all of the items. I think the structure of this could be improved.
- Lots of extra features to help you create and analyse queries
- Drag and drop to group, and subtotals, is helpful
- Menu structure could be improved
- Doesn’t support PL/SQL
Installing DatabaseSpy was pretty easy. I received the trial license key in an email and entered it when I ran it for the first time.
When I opened DatabaseSpy, it asked me to set up a connection using a wizard. It asked me to specify either ODBC or JDBC, then a few more questions, including specifying a DSN, and then a connection was set up. I prefer not to use DSNs for connections as they aren’t tied to the software. Some of the IDEs use DSNs and some don’t, but it’s just a personal preference.
After connecting, the UI is shown. There’s a project browser on the left, and it looks like it includes many features such as SQL, designs, data diff, schema diff, and favourites. It looks like a good summary of what I might want to include in a project.
Autocompletion of table names in the SQL window works well, but for some reason it adds double quotes to the table name! I’m not a fan of this. However, there could be a setting to change this and turn it off, or perhaps it only does it under certain circumstances.
There are many options that can be changed in DatabaseSpy, including the SQL formatting options.
I couldn’t find an SQL query history, or an Explain Plan option. These are useful features to have in an IDE and are in most of the IDEs I looked at. I’m not sure if this is not in the full IDE, or if it’s a limitation of the trial version.
Other than that, DatabaseSpy seems like a good tool. The user interface is good, it’s well laid out, and I didn’t feel overwhelmed with options and icons. The Project Explorer looks useful and has some good features.
- Good UI, it’s not overloaded
- Project explorer looks useful
- Explain Plan not included
- Connection process uses DSNs and a wizard (but it was easy to set up)
The installation process for DBXpert was pretty standard. However, after installing, I got a few errors. I got a message about needing to install OO4O, and an error displaying “Object required”.
After looking up how to get OO4O, and installing it (actually installing ODT with ODAC), the program works and I was able to create a connection.
The user interface is then shown. There are several toolbars of buttons, which seem like too many. AN SQL window is shown at the top, and the results panel at the bottom, which is pretty standard. The results panel shows a lot of extra tabs for messages, execution plans, and so on, which is useful.
DBXpert includes several database-related features such as create objects, drop objects, compile, and analyse indexes. These make it easier to perform these functions, instead of typing the SQL manually.
I had a couple of issues with DBXpert. The Explain Plan did not work for me, as I got an error about partition_stop being an invalid identifier. I also could not get the code completion working (automatically complete the table name).
There is a Favourites concept, where you can add your favourite files to a list. This is a handy feature. There’s a Window List which shows all of the open windows, which is a feature I like in SQL IDEs.
I found the use of tabs a little confusing. There are tabs shown across the top of the page, but they don’t show enough information. It shows the [email protected]:port/database, but not the filename, and I can’t rename it. This causes all tabs on a connection to look the same. I don’t really care what my connection details are for each tab.
However, when I looked closer, within each of these tabs you can create other tabs, which represent different SQL windows or files. This shows the filename or Untitled if it is not yet saved. This row of tabs is easier to use but I’m not sure why there are two.
The query builder looks good, as well as the PL/SQL debugger. There are no file management features, such as projects or a browser, other than the favourites I mentioned earlier.
It seems like a good tool overall. There are a lot of icons on the screen, which can make it distracting, and I’m not sure the top row of icons needs to be there.
- Lots of functionality to make it easier to do your job
- Add files to favourites so you can easily access them
- Reports are easy to generate
- The UI is a bit cluttered. The icons take up too much room, and the tabs within a window concept was hard to understand at first
- Explain Plan did not work as expected
- Needed some OO4O tool to be installed first before I could get it running
Win SQL (Synametrics Technologies)
The first thing I noticed when downloading WinSQL was the tagline: “A homogeneous solution for a heterogeneous environment.”
I don’t even know what that means.
I had to Google it to understand it.
An equivalent solution for a diverse environment.
So it’s fair to say the tagline didn’t hook me. But I downloaded it and began using it.
After I installed it, I went to set up a new connection. It uses a DSN (Data Source Name) as the connection method – which are those entries you create in the Administrative Tools section in Windows. It’s been a while since I created one of those!
I created a System DSN using the Oracle connection drivers, and then was able to connect using WinSQL. The process was simple, but took longer than other IDEs.
The UI of WinSQL is quite simple. There aren’t a lot of options available, but it does the job you need. It doesn’t use tabs for files like many other IDES, but it handles multiple open files using the concept of Query Pages. These Query Pages can be navigated within a connection using a drop-down list. This works, but it’s hard to see which page is which because the width of the drop-down box is small.
Queries can be written and run on the Oracle database and this works well. Inline editing is done using a wizard that generates the required SQL. So, it’s not direct cell editing, but this method works well.
There isn’t any file management within WinSQL (such as projects or a file explorer).
WinSQL has some good features that I haven’t seen that often in other IDEs. There’s a Database Search which searches throughout the database. There’s a DDL generation wizard, and an SQL query wizard.
The Lite version is sufficient for a free tool, but there are others that are more suitable. I’ve also reviewed the Paid versions which you can find further down this article.
- Fast to run queries
- Uncluttered layout
- Does enough for a free tool
- The connection process was harder than other IDEs
- Some additional features could make it more useful
DBEdit (Jef Van Den Ouweland)
To set up DBEdit. I had to install the JRE, which some may argue is a prerequisite for many IDEs. Once I installed this, though, using DBEdit was pretty straight forwards.
Connecting to a database has an unintuitive user interface. I had to enter the username and passwords in separate windows, and then a third window to enter the database information.
Once I connected, though, I was presented with a screen to run my queries and see my results.
The user interface seems bare. Sure, it has an SQL editor window at the top, and results pane at the bottom. But it seems pretty bare, compared to some of the other IDEs I’ve looked at so far.
However, it does the job. It’s a free tool, and doesn’t seem to be developed by a software company like many of the others here. So I assume it’s a side project for the developer, something I can appreciate having created a few side projects myself.
When a query is run, the results defaulted to an unlimited result set size. This was OK, given I was running on a small sample database, but this could be an issue in larger databases. This can be changed in the settings window.
On the Settings, it seems the “fetch result size”, or the number of rows returned by a query, is the only setting that can be changed. Nothing else. Which is OK, as this seems to be a basic SQL query tool.
Another thing I noticed was the ability to easily insert a “SELECT * FROM” code snippet, which is something I find valuable in IDEs. This can be a big time saver, and it has a keyboard shortcut.
However, the keyboard shortcut for this was CTRL + S, which is the default shortcut in many applications for Save. This could be confusing!
The results pane has a grid editor which allows you to insert, update, and delete records. You can also export to Excel or to SQL insert statements. It also has an SQL formatter and a schema browser, both great tools in any SQL IDE.
It’s a solid tool that gets the job done, but doesn’t have all the extra features you might find in other IDEs. It also hasn’t been updated since 2012, indicating it’s either very stable or is no longer being supported.
- Easy setup (after JRE is installed)
- SQL formatter saves time
- Easy insert of “select * from” code snippet
- Lacks features that other IDEs have such as file management
- No ability to change any settings
- Last updated in 2012
Golden (Benthic Software)
The connection manager in Golden was easy to use. It allows import and export of connections, colouring, and filtering the list.
Once I connected and loaded up a new SQL window, I could enter a query. There were several different options for running a script, which is helpful.
The UI is quite simple. The SQL window is at the top, and the results pane is at the bottom.
It allows you to save a “workspace”, which seems to be a collection of your currently open tabs. This makes it easier if you’re working on multiple files at once across different projects or areas.
I found Golden to be a fast program to use. It does the job – it lets you run SQL queries and see the results. Inline editing in the results pane is simple, and the text in the results pane is clear and easy to read.
However, I couldn’t find any file management features. No file browser, and no projects. This would have been a helpful feature to have as it saves time when working on multiple files. I also couldn’t see an object browser.
Another thing I found confusing was the fact that Benthic offers three similar tools: Golden, SQAll, and PLEdit. I’m not sure of the difference or the need to have three separate tools, and I think they could all be merged into one.
- Saving workspace is handy
- Fast program, simple UI
- Several useful features missing – object browser, file browser
- Unsure of the difference between Golden and Benthic’s other tools
PLEdit (Benthic Software)
PLEdit looks very similar to Benthic’s other tools, Golden and SQAll.
It uses the same connection process and even the same connection data as Golden. It picked up the connections I created in Golden so I didn’t need to create them again. But if you’re not using Golden, then they are still pretty easy to create. I didn’t need to use a DSN – I just entered the database details and a username and password.
After connecting, a simple editing screen is displayed. There is just an SQL editor, no results panel. The tab also has the title “Module 1”.
PLEdit allows for PL/SQL editing, but no SQL editing. There’s no way to run a query and get results. I can understand this if this is just designed for PL/SQL editing.
However, I also can’t run an anonymous PL/SQL block. Running code that has DECLARE BEGIN END will not work. It needs to be in a procedure or function or other code object for me to compile.
When an error is found, it is displayed in a popup dialog box, which is a little too small. You can also see the error in the error list at the bottom of the main window, but I feel there is no need for the popup.
There is an object browser in PLEdit, but this is just for code objects (functions, procedures) and not tables. It looks pretty useful.
PLEdit does not include an SQL formatter. I think this would be a useful feature, especially for larger PL/SQL programs.
Navigating up and down the rows was a little painful. Using the up and down keys didn’t bring the cursor to position 1 of an empty line. It kept in the same position as the previous line, which means I had to press Home to go to the start of the line I wanted to start at. This got annoying pretty quickly.
Overall it seems like an OK tool, but like I mentioned in the reviews for Golden and SQAll, I’m not sure why Benthic has three separate tools. If they were combined, they could make a pretty good tool.
- Simple UI, and similar to other Benthic tools
- Fast to use
- Object browser for code modules is useful
- Minimal features
- Cannot run anonymous PL/SQL blocks or any other SQL
SQAll (Benthic Software)
The connection process for SQALL uses System DSN names. This meant I had to set them up in the Administrative Tools section in Windows, which is different from Golden and PLEdit as they use basic connection strings. I prefer being able to enter the connection information straight into the tool and not have to create DSNs or other records.
Otherwise, it’s a good connection manager. Similar to other Benthic tools, it lets you add connections, filter connections, import and export connections, categorise, and colour connections.
The SQAll UI also looks very similar to Golden. It shows the SQL at the top and results at the bottom. No side panels are showing.
It has a similar inline editing feature for results as Golden, but the icon is different and the placement of the commit/save buttons is different. It still works in the same way and is easy to do.
SQAll has several features missing that I think would be pretty standard for a paid product. These features are the ability to run an explain plan, an object browser, file management, and code snippets or favourites.
There are also fewer ways to run a statement when comparing with Golden.
Overall, it’s a basic tool that lets you write and run SQL, but compared to Golden it has fewer features and harder to set up.
- Simple UI
- Fast to use
- Save workspace is helpful
- Uses DSN connections which need to be set up separately
- Missing a lot of features I would expect to be included in a paid product
Installing DBDeveloper was pretty fast, which makes it easy to get up and running quicker. It was also easy to create a connection.
There were no windows or tabs displayed when I started DBDeveloper, but it was easy to show a new window by going to Standard > SQL.
It’s laid out in a similar way to other IDEs: you enter a query at the top, run it, and results are shown at the bottom.
The Explain Plan functionality is included with the tool. However, it only works if you don’t end your query with a semicolon. I found this a bit strange as it’s good practice to end queries with a semicolon.
Also, the Explain Plan only shows the step, object, cost, and bytes. This is enough for a quick idea of the explain plan, but sometimes more information is needed.
It includes some common features, such as code complete (finishing the SQL keywords for you or offering suggestions, such as table names), inline editing of results to update the database table, and SQL formatter, and several SQL formatting options that can be changed.
It doesn’t support PL/SQL, so if you’re after an IDE that does, you’ll need to find something else.
The display is configurable, which I found to be useful. The menu structure within DBDeveloper is unconventional, but it could be useful after you take some time to get used to it.
I found that several of the options under the Additional and DBA menus don’t show any information. For example, I opened Directories, or Java, or Objects, and a window opened within nothing displayed in it. I’m not sure what the purpose of these menu options is.
There’s also a Transaction menu within DBDeveloper and I’m not sure what it’s for. It seems to start and stop a transaction of some sort, but there are no SQL commands generated, so I don’t know how it fits in to the query you’re writing or what it does. Perhaps it’s something I need to research.
Also, there’s a menu option called Datetime which shows a small window (which should be a little larger) and displays the date and time. It’s good if you want to see the current date and time, but I’m not sure how often this would be used.
Overall DBDeveloper seems like an OK tool. It will get the job done, if you’re interested in writing SQL queries and not PL/SQL.
- Fast and easy to get started writing SQL
- Many of the menu items don’t show anything
- Hard to navigate to the objects you want (e.g. list of tables)
- Some features I’m unsure of their purpose (start transaction, date time)
- Has not been updated in a long time
Adminer (Jakub Vrana)
Adminer is mentioned as an alternative to phpMyAdmin. It’s a web-based tool that works with many different databases.
It includes a plugin feature, allowing you to add additional functionality, and several different designs.
If you prefer a web-based tool and are using phpMyAdmin, consider using Adminer.
pgAdmin is the default IDE that PostgreSQL comes with. It’s a web-based tool that allows you to connect to a PostgreSQL database.
The UI is clean and useful: the database explorer is on the left and the SQL editor on the right.
I used this for a while when I was getting started with PostgreSQL. Version 4 is a lot better than version 3, but many people have problems with version 4.
I also had lagging and connection issues with pgAdmin, so I try not to use it if I can help it.
Otherwise, it’s a simple IDE that comes with PostgreSQL so can be useful if you have nothing else.
MySQL Workbench (MySQL)
MySQL Workbench is a free and popular IDE for working with MySQL databases. It’s the official IDE of the MySQL website and it’s the one I got started with when I learned MySQL.
It works on many operating systems, and the free edition has enough features for all the development tasks you’ll need (such as importing CSV files, which I’ve written about here).
It has a clean looking UI and works pretty quickly. It’s implemented some of the more common features as well, such as code formatting and explain plans.
Overall it’s a pretty solid SQL editor.
The only issue I have found is that the shortcuts aren’t intuitive (at least on a Mac). CTRL+N opens a new data model window instead of a new script. But perhaps these can be changed, or I can just get used to them.
SQL Server Management Studio (Microsoft)
SQL Server Management Studio, or SSMS as it’s also known, is an SQL IDE used for accessing SQL Server databases. It comes with SQL Server and is a common IDE used by developers and DBAs who work with SQL Server.
While it is popular, it only comes on Windows, so if you use a Mac or Linux you can’t use it.
It’s a solid tool and has a lot of features for developers and DBAs. I’ve seen comments from some developers that they prefer using SQL Server Data Tools inside Visual Studio, instead of SSMS, for simple development work as this tool feels too heavy.
I haven’t used it much recently, as I run a Mac, but I have used it in the past and it’s been useful.
Azure Data Studio (Microsoft)
Microsoft’s Azure Data Studio is a simple IDE based on Visual Studio Code’s design. It’s used to access SQL Server databases and has recently added support for PostgreSQL.
Unlike SSMS, Azure Data Studio runs on Windows, Mac, and Linux. This is great for those of us who want a simple IDE but don’t run on Windows. I’ve used it recently as I’m on a Mac and work a bit with SQL Server.
It’s also a free IDE. So, if you want an IDE that’s similar to Visual Studio Code, and works on several operating systems, check out Azure Data Studio.
HeidiSQL (Ansgar Becker and others)
HeidiSQL has some good recommendations on Reddit and other sites as a free IDE to access a range of databases.
It runs on Windows and supports many databases (except Oracle). It’s a good looking IDE, and has a dark theme like many others on this list.
If you’re looking for a free IDE that works on many databases, HeidiSQL would be a good choice.
OmniDB is an “open source collaborative environment” for working with databases. It’s a browser-based tool that seems to have a lot of good features. Its main claim is that it allows for many people to work on the database at once.
Because it’s browser-based, it works on many operating systems. It also supports several different databases.
Visual Studio with SQL Server Data Tools (SSDT) (Microsoft)
This entry is different to others on this list as it’s a plugin for an existing IDE.
SQL Server Data Studio (SSDT) can be installed on the Visual Studio IDE. If you use Visual Studio, you can use the plugin to access your SQL Server database and work with the database, without having to use SSMS or another IDE. This can reduce the number of tools you have and reduce the time taken to get your work done.
It doesn’t have the same level of functionality as SSMS, but that could be a good thing. It should have everything you need as a developer to access a database.
This article reviews a few SQL Server IDEs and concludes that this option is the preferred option for then. Admittedly, it is from 2015 so is a few years old.
SQLYog (Webyog Inc.)
SQLYog is a free Windows-based IDE for working with MySQL databases.
This was one of the first IDEs I used back when I learned MySQL – so it’s quite old! It was good to use back then, and while I haven’t used it recently, it still looks like it can do what you need it to do.
It is only available for Windows for MySQL, so it looks like an alternative to MySQL Workbench.
Sequel Pro (Sequel Pro Developers)
Sequel Pro is a Mac-based IDE for working with MySQL.
Like a few others on this list, it has a narrow focus (one database and one operating system). But this can be a good thing. If that’s all you work with, then Sequel Pro is something to consider. It’s also free to use.
However, the last version was released in 2016, over four years ago now.
TablePlus (TablePlus Inc.)
TablePlus is an SQL IDE that works with all of the databases I analysed as part of this guide. It runs on Windows, Mac, and Linux. So, already, it looks pretty flexible.
It has some good suggestions and reviews on sites like Reddit, as a good choice for a paid SQL IDE. It’s also reasonably priced, whether you’re working on a database by yourself, a startup, or a large company.
If you’re interested in an SQL IDE and don’t mind paying, TablePlus looks like a good option.
SQLite Studio (SQLiteStudio)
SQLite Studio is a free IDE for working with SQLite databases. It runs on all three major operating systems.
If you work with SQLite databases, then this is a good IDE to consider. It looks simple but functional, and it’s free.
I haven’t used it, but if I started to work with SQLite, it’s one I would consider.
PopSQL (PopSQL Inc.)
PopSQL is a “collaborative SQL editor for your team”. It’s a web-based tool that allows you and your team to work together on the database.
It seems different to other IDEs here, as it allows you to develop queries and also visualise your data.
I haven’t used it but it might be one to consider.
They offer a low monthly (or annual) fee for access, like many tools in other industries. As it’s web-based, it runs on all major operating systems, and most databases.
Postico (Egger Apps)
Postico is a PostgreSQL SQL IDE that offers both a free and paid version of its tool. It only runs on Mac, so if you use a Mac it’s useful for you, otherwise you should look at other tools.
The user interface looks good and simple. It’s a good alternative to pgAdmin and other tools for working with PostgreSQL.
It comes with both a free version and a paid version.
Valentina Studio (Paradigma Software)
Valentina Studio is an IDE available for all major operating systems and supports most databases (except Oracle).
It has a standard-looking UI and seems to include quite a lot of functionality used by developers and DBAs (schema editing and diagramming, reports, forms, SQL editing, administration, and utilities).
They offer a free and a paid version, so you can decide which one is more suitable for you.
SQLECTRON is a free IDE built on the Electron framework. It’s a simple and lightweight SQL editor, that comes as a GUI and also includes a terminal.
It’s available for Windows, Mac, and Linux, and the UI looks simple and easy to use. So, if you’re looking for an IDE that works with several databases, multiple operating systems, and is lightweight, consider SQLECTRON.
SQLGate (Chequer Inc)
SQLGate is an IDE that’s developed by a Korean company, and defaults to a dark mode which is common in many IDEs today.
It works on Windows only, but supports many different databases.
A free version is available but is quite limited. There are paid versions available which unlock the full functionality of the tool.
SQL Notebook (Brian Luft)
SQL Notebook is a free Windows-based IDE built for working with several different databases.
It’s designed for exploring and manipulating data, and works with several different databases. It allows you to import data into the tool for analysis, and write scripts like many other SQL IDEs.
The version number (v0.6) indicates it hasn’t yet reached a major release, and the last update was in 2016 which is four years ago.
Beekeeper Studio (Beekeeper Studio)
Beekeeper Studio is a clean and good-looking SQL IDE for working with many different databases.
I haven’t heard of it before I started collating this guide, but from what I can tell it looks quite good.
It’s a free tool, available for all major operating systems.
So, if you want something free and that looks good, consider Beekeeper Studio.
Execute Query (Takis Diakoumis)
Execute Query is a free SQL IDE for use with all major databases and operating systems.
It looks quite good and it seems like it has a lot of functionality.
While it hasn’t been updated since 2018, it’s still one to consider if you want the freedom of multiple databases and operating systems.
SQL Navigator (Quest)
SQL Navigator is an IDE by Quest, the same company that created Toad, the popular SQL IDE.
SQL Navigator is available for Windows and only runs with Oracle. However, it looks like an IDE that has quite a lot of features.
SQL Assistant (SoftTree)
SQL IDEs Excluded From This List
There are many SQL IDEs that I didn’t add to this list.
The following tools were suggested in other places (e.g. Reddit, StackOverflow, forums), but no longer exist:
- Guggi for Oracle
- Dream Coder
- OraEdit Pro
- OraDeveloper Studio
- SQL Insight
The following tools are not query editors:
- DB Maestro
- SQL Editor for Oracle
- Datapine SQL Editor
These tools are excluded for other reasons:
- 0xDBE: this was mentioned in some places, but is actually the project name of DataGrip before it was launched.
- DataRow: this used to be an IDE but has now changed to exclusively work with Amazon RedShift.
I hope you’ve found this guide helpful. I’ll be aiming to keep this guide up to date with both the version numbers and the list of IDEs.
Do you have any IDEs that would make a good addition to this list? Let me know in the comments. Remember, it needs to meet the criteria above (write and run SQL and have a GUI).
Lastly, enter your email address below to get an expanded comparison table PDF file of all of these IDEs for easy reference.
12 thoughts on “52 SQL Editors and IDEs Compared (2020): The Ultimate List”
Would you mind taking a look at Softtree SQL Assistant, which is a full featured IDE for multi-database development
You can download it here https://www.softtreetech.com/download/sqlassist_setup.exe
You can find more details here https://www.softtreetech.com/sqlassist/
Sure Dmitriy, I can take a look and add it to the list!
Thanks a ton! Please let me know if i can help with any issues or just with locating stuff.. There’s so much of it burried that even 600 pages of documentation aren’t always enough to find everything.
Why are all these tools so buggy?
Good question! I’m assuming because the free tools don’t get the focus that they need. In my experience the paid tools are less buggy.
SQLPro (https://github.com/hankinsoft/SQLPro) is an IDE that is definitely missing from this list. I use it as my primary SQL IDE for various databases (Postgres, MySQL, MariaDB, SQL Server, Oracle, MongoDB and SQLite) and it has many cloud DW options too (Snowflake, Redshift). I can highly recommend checking it out.
could you please also review DbGate ?
DbGate is cross-platform open-source database manager
Introduction on Hacker news (one year ago): https://news.ycombinator.com/item?id=26899100
First of all thanks a lot for the investigation work and the nice filtered table.
I would like to point out that in many cases, if drivers are not included in the install packages it is often because of legal reasons.
The same thing applies for example for the Oracle JRE (as far as I know) and it is not free for the projects to bundle it directly in the install archives.
So it is often not a personal choice of the developers not to include the drivers for free projects.
Thanks for the information about the drivers, that’s good to know!
This is a wonderful article. If I had read it earlier, it would have saved me so much time. I had been using Azure Data Studio on my Postgres database. The database and the table are large. Some tables have 200 million rows. When I used Azure Data Studio to do joins on these large tables, Azure Data Studio would literally freezes or take 30-45 minutes to run a queries. I tried all sort of indexing and partitioning but nothing helped. After reading this article, I switched to DBeaver Community. The identical joins and queries take seconds. Thank you, thank you, Ben
Great collection! I especially like dbForge Studio – SQL Server GUI client (https://www.devart.com/dbforge/sql/studio/). Moreover, it now supports Linux and Mac through CrossOver.
Saw you reviewed Toad for Oracle, which I wasn’t a fan of coming from Toad Data Point. I’ve been using it for 8+ years and would pay for the license out of pocket if I had to. Was curious if there was anything out there even better, but not super impressed skimming around so far. Gonna check out some mentioned in the comments here.
Anyway, I’ve used it for Oracle, SQL Server, Postgres, and Teradata. It can connect to a lot more, especially with the Pro version (which I don’t have). It also has a really nice, simple automation tool, report building, code completion/suggestion, text compare, table compare, themes, etc, etc. Makes a lot of these look outdated.