Smart IDE for working with databases

On-the-fly coding assistance

Coding is what most developers spend the bulk of their time doing in an IDE. DataGrip’s smart features like auto-completion, code snippets, formatter, refactorings, and various intention actions help you code faster. Concentrate on the logic, not on what you need to type!

Smart data editor

DataGrip provides a smart data editor with the ability to add, delete, and change data. All of the queries DataGrip runs during data updates can later be found in its SQL log, so you can perform the same changes against another database.

DataGrip’s data extractor supports many formats, including SQL INSERTS, SQL UPDATES, CSV, JSON, XML, and others. The mechanism is customizable, so you can create your own formats such as Markdown or plaintext.

Convenient work with files

If you work with SQL files stored on your computer, then you might already have a working directory with tons of scripts. DataGrip provides a handy interface for that. Attach folders from your computer, associate them with data sources, run scripts against several databases, or even use built-in Git integration!

Fully customizable

There are many ways to customize the DataGrip interface. You can choose from any of the default color schemes or create your own, mark data sources with different colors, and even customize or set up your own keyboard scheme.

DataGrip for Oracle developers


The debugger helps you find errors in your code by investigating its runtime behavior. With DataGrip’s debugger, you can go through your code line by line, step into and out of called routines, evaluate expressions, and watch variables as their values change.

The debugger is based on the Oracle Probe which uses the API from the DBMS_DEBUG package, and it works on Oracle servers 9.0 and later. In Oracle, you can debug anonymous blocks, packages, procedures, functions, and triggers.

Navigation through packages

DataGrip lets you quickly navigate through package sources. You can navigate from the declaration of the function to its implementation and vice versa.

Database links

DataGrip displays Database links in the Database Explorer. You can map your database link in an Oracle database to any existing data source so that code completion and resolution will work for queries using those external objects.

utPLSQL support

utPLSQL is a popular framework for testing PL/SQL code in Oracle databases. DataGrip has built-in support for utPLSQL, meaning that you can run tests and test packages without having to leave the code editor. Just click the small green play button in the left-hand pane.

Getting started with DataGrip for Oracle

Step 1: Connect to the database

DataGrip uses a JDBC driver to connect to your Oracle database, which will be downloaded automatically when testing the connection. In addition to the main credentials you’ll need in order to connect (such as port, user, and password), you can set several options for the new Oracle data source:

  • Mark the data source as read-only. In this mode, every DDL or DML query will be underlined. If you execute it, you will receive a warning notifying you of possible side effects.
  • Transaction control is an option that lets you decide whether you want all transactions to be committed automatically or not.
  • Run a keep-alive query and auto-disconnect to help you manage connection behavior.
  • The startup script is an SQL query which will be run each time you establish a connection.
  • Auto-sync determines if the database tree should be updated automatically after running DDL queries.
  • SSH/SSL options are also available, if needed.
  • Set the timezone (default is UTC).

Step 2: Explore database objects

Once you’re connected to your Oracle database, you’ll see the list of objects in the left-hand pane, called the Database Explorer. Here you can filter objects and choose which schemas should be shown.

Step 3: Write SQL

DataGrip can help you detect bugs and problems that may arise in your SQL code before you compile and run it. Here are just a few examples of DataGrip catching mistakes and bringing them to your attention.