Supported OS'es


DbVisualizer runs smoothly on the Windows platform, here with the
Windows look and feel
DbVisualizer on Windows

DbVisualizer on macOS with the Aqua look and feel. HiDPI icons on Retina displays.
DbVisualizer on macOS

DbVisualizer on Linux/UNIX with the Synthetica Standard look and feel
DbVisualizer on Linux/UNIX

DbVisualizer with the platform independent Darcula look and feel
DbVisualizer with the Darcula look and feel

The DbVisualizer UI


This shows a maximized result-set tab in the SQL Commander.
Maximize tabs with a double-click

The top-level tab types, Object View and SQL Commander, can be dragged to desired
positions in the workspace area. There are also actions in the tab right-click menu to
 automatically tile all top-level tabs or collapse them into a single tab group.
Top-level tabs side-by-side

For each database object type being presented in DbVisualizer there are a lot of
information presented in sub-tabs. Users may decide to hide certain tabs, rearranging them
or present some side-by-side with other tabs. The layout can be saved between DbVisualizer
sessions and is automatically loaded at next open of the object type. This example show
a table in Oracle that is maximized with 3 sub-tabs organized side-by-side. In additon
are the top-level toolbar, object view header and the favorites bar not visible to
better use the space in the window.
Save Layout of Individual Object Types

Connection Management


Defining a database connection is a simple task using the Connection Wizard in
DbVisualizer. In the wizard, choose what database you are connecting to,
information about the JDBC driver and finally the details about the database
server and user credentials. An alternative to the wizard is to setup the
connection manually via the Server Info and Database URL forms in the Connection tab.
Connection Wizard

Along with the Connection Wizard is the Server Info the preferred methods to
manage connection details. It presents the various parameters in a form that
adapt the choices based on your input. The screen image also show the SSH fields.
Connection setup using Server Info and SSH

The conventional JDBC setup is used for databases with no pre-defined
Server Info.
Connection setup using Database URL

Connection Details with Variables

Connection Properties

For each database connection you may assign a color and/or border. These will appear
for the components in the DbVisualizer GUI that are referenced by the connection.
This is useful in order to quickly determine what parts belong to which connection.
Borders and Colors

JDBC Driver Manager

Database Browser


The database browser in DbVisualizer is the place where you navigate the structure
of objects available in the database server. The information in the tree
depends on what database is being accessed.
Database Browser when connected to a Oracle DB

Every object (node) in the tree has an accompanying right-click menu with
actions specifically for that object. What actions are available depends
on the object type but are typically used to create, alter, rename and remove
objects of that type.
Right click menu actions for a table in Oracle

You may search the database based on object names
Database Search

When you select an object in the Database Browser, you see a number of tabs
in the Object Details pane to the right. What is displayed here depends on what database
you are accessing and the type of object you select.
Table Object Details

Some object actions can be executed for multiple objects in a single run. Actions
not accepting multiple objects are disabled in the right-click menu.
Drop Multiple Tables (and other objects)

Any object can be scripted based on what object type it is. For tables the scripting
feature can generate SQLs such as SELECT, CREATE, INSERT, UPDATE, etc. The scripting
feature is either started using the right-click menu in the databases list or by dragging
the actual objects to an existing SQL Commander editor or on the main toolbar area
to create a new editor.
Table Scripting (and other objects)

Selecting the top level Connection row will show an overview of all connections
and their connection details.
Connections overview



The Create Table feature is used to specify the definition of a database table in
terms of columns, keys, indexes, foreign keys, constraints, etc. This screenshot
show the Columns information with the instant SQL Previewer visible.
Create Table

Specify foreign keys to other tables
Define Foreign Keys

The alter table feature enables visual editing of the table structure. This
screenshot also shows the SQL Preview area. This is the SQL that DbVisualizer
will run when Execute is pressed.
Alter Table

The create index table action is used to create non-unique and unique indexes.
Create Index

The CREATE TABLE DDL can be browsed.
Browse Table DDL

Procedure, Function, Package and Trigger


This screenshot show the action used to create a
stored procedure in a SQL Server database.
Create Procedure

Click a procedure in the database browser and the Procedure Editor is
activated in the object details pane.
Edit Procedure

Clicking Execute in the Procedure Editor executes the procedure in the 
SQL Commander and prompts for IN/INOUT parameters. The return value and 
OUT/INOUT parameter values are written to the log.
Execute Procedure

The Create Trigger action dialog lets you visually define a new trigger
Create Trigger

Export Schema/Database


Exporting in CSV format allows export of table data only.
Export Database in CSV

Exporting in HTML format allows export of table data only.
Export Database in HTML

Exporting in SQL format supports export of the DDLs and table data. The output is
SQL statements that can be re-executed in DbVisualizer or in a 3:rd party tool.
Export Database in SQL

Exporting in XML format allows export of DDLs and table data.
Export Database in XML

Exporting in XLS/XLSX format allows export of table data only. XLS is the old binary
format for XLS while the XLSX format is the XML based OOXML format.
Export Database in XLS/XLSX

Exporting in JSON format allows export of table data only.
Export Database in JSON

References Graphs


This screenshot shows a zoomed portion of the tables in the MS SQL Server,
AdventureWorks2012_CS sample database.
Graph Tables in a Database

Full table details can be displayed in a separate window and selected tables
can be scripted using the Script Table right-click menu feature.
Show Full Table Details

Database Scheduling, Events, Jobs


Create Schedule in PostgreSQL

Create Job in Oracle

Edit Step in SQL Server

Table Data Viewer/Editor


The inline data editor is a spreadsheet-like editor. Just open a table and modify
the data you want. Modified cells are indicated to represent the type of edit.
You may paste information into a multi row/cell selection and the pasted data
will update the corresponding cells. Once you're ready, all changes are propagated
to the database table in a single transaction. In addition you may sort one
or several columns, filter the data being presented and a lot more.
Grid Table Data Editor

The form data editor is useful when editing a row that is either
composed of many columns and/or some fields contain much data. The data for a
row is presented in a form with the column name to the left and the actual data
in the right area.
To launch the form editor, either select Edit in Form or double click
the row header. The form editor is also used to visualize binary data
such as images, XML, etc.
Form Table Data Editor

The most common image formats can be browsed such as PNG, JPG, GIF, TIFF, BMP, and PDF documents.
Display the most common image formats

The inline data filtering allows quickly entering a WHERE clause that is used
when getting the table data from the database. Column names can be auto-completed using
Ctrl-Enter. Filters may be saved between
sessions and easily applied in a drop-down list. The extended Filter & Sort window
supports more detailed support designing the WHERE and ORDER BY clauses.
Data Filtering

Table Export


Export Table

There are a number of options to control data formats and other details of the
export result.
Configure Data Formats, Quoting, etc.

Table Data Import


The file viewer show a CSV file as it looks on disk. This is useful to check what
delimiters are being used, quotes, column header, etc.
Raw File Viewer

The import feature tries to auto detect what column separators being used in a CSV file. This
can be manually overidden along with settings to control if text data is enclosed
in quotes, if empty rows should be ignored and if there is a column header row.
Data Delimiters and File Configuration

Data types are automatically recognized when the file is loaded. To change this
click the first row cell and choose the appropriate type from the list.
Data Type Setup

Columns in the file are automatically mapped to columns in the table, based on
either the name or the index. You can also map the columns manually.
Import Column Mapping

A new table can be created for the imported data. The data type for each column
is determined automatically from the data and the specific types supported by
the database. You can adjust the types manually.
Import to a new table

Data Navigator


The navigator starts at the current table. The diagram at the top shows the
checked tables and their relationships. The lower grid shows the actual data
that is referenced by the primary/foreign key mappings. Select the data in the
grid and what constraint to follow in the "Related Table" drop down and
the navigator will render the referenced table in the diagram. The linked
data is displayed in the grid. You may jump back and forth by selecting
table nodes in the diagram. Nodes may be tagged with information from the
table data to make it easier to recognize them.
The Table Data Navigator

SQL Commander


The SQL Editor supports auto completion which is an aid used to complete
sentences with either table or column names. Specify the beginning of a table
name and then press Ctrl+SPACE to show a list of matching names. The screenshot
show 4 select statements and their respective result as grid tabs in the lower part.
SQL Editor with Auto Completion and result sets in Grid format

If you select a statement in the editor and execute, only that statement is executed.
The result set tab show the Text output format.
Execution of selected SQL with result set in fixed width Text format

Any result set may be presented as a chart. There are several options
to control the appearance and these are preserved for new result sets
when running more select statements.
Result set in Chart format

The data in a result set may be edited via the inline or form editors, as long as certain conditions are fulfilled.
Edit result set either inline or in the form editor

Enter variables (${name}$) in the script and DbVisualizer will prompt for real values
at execute. The variable window remembers previously used values and is useful
if running the same SQL only with minor differences between the runs.
Parameterized SQL using variables

DbVisualizer supports the most common parameter marker formats such as ?, :name, :{name}, :'name' and &name.
DbVisualizer will prompt for values at execution of SQL(s) containing any of these.
Parameterized SQL using markers

The result set area belonging to an SQL Commander can be displayed in its own standalone window
allowing for full height editing of SQL scripts and viewing of results.
Show Result Sets in separate Window

Finding errors in SQL scripts may be a tedious process. The error highlighting in
the SQL Commander show errors with a wavy underline and when hovered the error text is
displayed. Error highlighting is supported for Oracle, MySQL, PostgreSQL,
Informix, JavaDB/Derby, Mimer SQL, and Sybase ASE (jConnect).
Error highlighting

Result Set Management


Here are two columns, "Type (DB)" and "Size" sorted in ascending order.
To sort one column, just click the column header. One click will sort the
column in ascending order. Click again and it will be sorted in the reverse
and a third click will reset to the original ordering. To sort the grid based on more than one column,
keep the Ctrl key (Command on macOS) pressed while clicking the
column headers.
The screenshot also shows filtering of the "Name" column. All matches in the grid
are highlighted with yellow color.
Grid with multi-column sorting and filtering

The right click menu lists all actions that may be performed on the
grid and its data. Note that some actions are context sensitive and may
be disabled.
Grid right-click menu choices

The "Browse Row in Window" action shows the selected row in a separate window.
The data is presented in a form with the leftmost column in the original
grid being presented at the top.
The form window is also a grid with the same capabilities as the grid component.
Row Form Window

Sometimes it is convenient to select some data and show various statistics
such as telling max, min, avg, sum, etc. The right-click menu choice
"Aggregate Data for Selection" is used for this.
Aggregation Data for Selection

The export functionality is used to export the content of any grid to
a file. The output can be written in CSV, HTML, SQL, XML, MS Excel
format. Data formats can be specified and test data can be generated
with the builtin data generators. The export functionality can also be
used in the SQL Commander, which is very useful when exporting large
result sets directly to file without first presenting them in DbVisualizer.
The Export feature

Query Builder


The query builder is a very useful feature used to build SQL select statements
graphically. Pick tables in the database browser and drag them into the
query builder diagram area or use the quick-add feature in the query builder.
Then draw lines between columns in one table node
and attach to columns in another table node. These lines represent the joins
in the generated SQL. The tabs below the diagram area are used to specify any
Table Diagram and Join Properties

In addition to the previous screenshot the query builder supports loading an
existing SQL statement so that it can be edited in the query builder.
Column Select list

Once you are satisfied with the query, just pass it on to the SQL Commander
for test execution. If you need to make any refinements just
switch to the query builder and continue editing the query.
Generated and test SQL

Explain Plan


This screenshot shows the plan data in a multi-column tree list.
This output format is supported for:
Mimer SQL,
PostgreSQL 9+, and
SQL Server.
Explain Plan as a Tree List

This screenshot shows the plan data in a graph.
This output format is supported for:
Mimer SQL,
PostgreSQL 9+, and
SQL Server.
Explain Plan as a Graph

SQL History


Previously executed statements and scripts can be located and executed again
from the SQL History window.
SQL History window

Filtering by meta data for each entry and in the full script content.
Filtering the SQL History

SQL Bookmarks


The bookmark container in the Scripts tab. Double click a SQL entry to load it
in the SQL editor.
Bookmarks in the Scripts tab



A result set presented in a line chart.
Result Set as Line Chart

Result set as a stacked bar chart. Regular bar chart is also supported.
Result Set as Stacked Bar Chart

The pie chart visualize a single serie (column).
Result Set as Pie

Result set as a stacked area. Regular area chart is also supported.
Result Set as Stacked Area

Result set as a stacked area. Regular area chart is also supported.
Result Set as Stacked Area with the Darcula look and feel

The configuration options for charts. Here you can define the appearance of the
chart, titles and labels for the series as they will appear in the legend.
Chart Configuration Options



Clicking an item in the Favorites toolbar opens the corresponding
Database Object node in the database browser or loads the Bookmark script in
the SQL Commander. The toolbar can be dragged and docked on the edges of the main window and
even on the same row as the main toolbar.
Favorites toolbar

To add a database object as a favorite either drag the object to the wanted
position in the favorite toolbar or into the Favorites tab.
Drag Database Object to Favorites toolbar

Add a bookmark script file by dragging to the wanted
position in the favorite toolbar or into the Favorites tab.
Drag Script to Favorites toolbar

The Favorites tab is used to organize and open favorite objects. Use drag and
drop to move favorites to the wanted position.
Favorites Editor



The monitor tool is used to periodically execute select statements and present
the result in various formats. The chart format is really useful as it
in combination with the monitor feature, can present a number of live charts
based on real-time data.
The Monitor Tool



In the SQL Commander, you can compare the script to its copy on disk, to a script
loaded in another SQL Commander, or to the content of the system clipboard.
Compare SQL Editors

You can also compare any grid in an SQL Commander or Object View tab, such as a
Result Set grid, the Data tab grid for a table, or the Tables grid for a schema,
to any other open grid.
Compare Grid Data



The key binding support in DbVisualizer is extensive as it supports
setting key bindings for lots of operations. There are pre-defined key maps
specifically for Windows, Linux/UNIX and macOS users. This is really
important for key bindings such as those used for editing since these key strokes
are different in each OS. In addition there
are key maps for users coming from other database tools such as TOAD and SQL Server's Query Analyzer.
Key Bindings

Control the individual coloring for the syntax highlighting in the SQL editor.
SQL Editor Colors

There are many settings used to control the appearance and behavior of
DbVisualizer. Two great feature is the Color & Border for a database
connection. These are used to highlight certain components that use the
database connection.
Color and Border

The grid colors can be defined so that every second row is presented
in an alternate color.
Grid Colors

The permission feature simply controls every
action and SQL that are about to be executed. The permission is set per
individual SQL statements executed in the SQL Commander, such as DELETE, DROP,
UPDATE, etc. The response can be any of "Allow", "Ask" or "Deny".
Permissions are also available when editing in the table data editor. Permissions
can be defined for Insert, Update or Delete operations. The response for each
command is any of "Confirm" or "No Confirm". Permissions are grouped based
on the connection modes, "Development", "Test" and "Production".
Permission Control



Having master password enabled raises passwords security considerably. The Master
Password is requested once per DbVisualizer session.
Master Password prompt

The master password is set in Tool Properties. If resetting it all stored
passwords will be cleared.
Managing Master Password

Having a master password set enables showing a connections passwords in clear text. Whenever
Show Password is requested, the master password must be specified.
Show passwords in clear text

Export/Import User Settings


The selected settings are saved in a single jar file. Copy this file to the new
device on which DbVisualizer runs and then load it with Import User Settings.
Export User Settings

If Master Password is enabled, the Export User Settings will first prompt for the
master password and then optionally ask for an Export Password. If the latter is
specified, it should be entered when Import User Settings on the new machine.
Export User Settings when Master Password is enabled

The Import User Settings examines the jar file and shows only the settings
categories that are available in the file.
Import User Settings



The check for update feature periodically check if there is any new version available.
Check for Update

Command Line Interface


Using the command line interface, you can connect to a database and execute a single SQL statement or a script, with various options.
Command Line options

Who Uses DbVisualizer


Customer Testimonial:
hey guys, i've been using dbV for a bit now and i just wanted to let you know that i really appreciate this wonderful tool. it may not mean much to some, but to me, i think what you guys are doing is awesome! i'm glad that the free version is robust because after using it for a while i know that sho...