# Database Tools and SQL

Procedure: Enable the Database Tools and SQL plugin

This functionality relies on the  Database Tools and SQL plugin, which  is bundled and enabled in IntelliJ IDEA   by default. If the relevant features are not available, make sure that you did not disable the plugin.

> **Note:**
> Database Tools and SQL functionality support is limited in IntelliJ IDEA without the Ultimate subscription.

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Plugins`.

2. Open the Installed tab, find the Database Tools and SQL plugin, and select the checkbox next to the plugin name.

> **Warning:**
> This section provides an overview of basic functionality that is available with the Database Tools and SQL plugin in IntelliJ IDEA. For more information about database features, refer to [the official DataGrip documentation](https://www.jetbrains.com.cn/en-us/help/datagrip).

The database management functionality in IntelliJ IDEA is supported by the Database Tools and SQL plugin. The plugin provides support for all the features that are available in DataGrip, the standalone database management environment for developers. With the plugin, you can query, create and manage databases. Databases can work locally, on a server, or in the cloud. The plugin supports MySQL, PostgreSQL, Microsoft SQL Server, SQLite, MariaDB, Oracle, Apache Cassandra, and others. See the full list of supported vendors in [Create a data source](managing-data-sources.html#create_a_data_source).

## Get started with database tools

These topics are focused on describing features, functionality, the application interface, and might help you to get started quickly.

| [Glossary](glossary-database-tools-and-sql.html) | Learn the main concepts. |
| [Create a data source](managing-data-sources.html#create_a_data_source) | Start working with your database by creating a connection configuration for it. |
| [Run a query](run-a-query.html) | Connect an SQL file to a data source and run your code. |
| [View results](viewing-query-results.html) | Connect an SQL file to a data source and run your code. |
| [Work with data](data-editor-and-viewer.html) | View and edit data in data editor. |
| [Export/Import](exporting-and-importing-data.html) | Import and export your data to and from various formats with or without special tools like mysqldump, pg_dump, pg_restore, or psql. |
| [Diagrams](creating-diagrams.html) | Generate diagrams for database objects, build query and execution plans, generate flame graphs for `EXPLAIN` statements. |
| [Troubleshooting](connectivity-problems.html) | Connectivity issue is a very common definition and might include many problems. This troubleshooting article will guide you through the most common steps to identify and fix the issue. If you could not find the answer, try to  [contact JetBrains](getting-started.html)  and we can try to help you.  |

## IntelliJ IDEA Ultimate subscription features

Database functionality support is limited in IntelliJ IDEA without the Ultimate subscription which includes the following features:

Query execution
: [Run your queries](run-a-query.html) in query consoles, scratch files, and general SQL files stored on your machine.

Explain plan
: Build [query execution plans](query-execution-plan.html) for your queries.

Data editor and viewer
: [Data editor](data-editor-and-viewer.html) provides an interface for viewing and working with database object data and [query result sets](viewing-query-results.html). Also, it allows [visualizing data with charts](tables-view-data.html#visualize_data).
:
:
:
: [Editing DSV files as tables feature](editing-csv-and-tsv-files.html) is available within the limited functionality.

Schema comparison and migration
: [Compare two database objects](schema-comparison-and-migration.html#schema_comparison) of the same type and to [migrate structure and changes](schema-comparison-and-migration.html#schema_migration) from one object to another.

Data comparison
: [Compare data](compare-data.html) of database tables, views, and materialized views.

Export and import
: Database objects structure and data [exporting](export-data.html) and [importing](import-data.html). This functionality includes [data extractor](data-extractors.html) and [data loader](data-loaders.html) scripts that are used for copying, exporting, importing, and viewing data in various formats.
:
:
:
: [Editing DSV files as tables feature](editing-csv-and-tsv-files.html) is available within the limited functionality.

Database objects managing
: * Create and modify New database objects can be created and the existing ones modified using the [Create and Modify dialogs](create-and-modify-dialogs.html).
:
: * Object actions Various operations on database objects can be performed using the actions from the Object Actions action group of the Database tool window [context menu](database-tool-window.html#controls-of-the-right-click-menu). For example, Drop Primary Key, Truncate, and so on.

Database diagrams
: Visualize database structure, explore, and save the generated diagrams using the [database diagrams functionality](creating-diagrams.html).

SQL scripts
: Use various scripts from the SQL Scripts action group of the   Database   tool window  [context menu](database-tool-window.html#controls-of-the-right-click-menu).
:
:
:
: The Request and Copy Original DDL action remains available within the limited functionality.

Debug
: Debug your Oracle PL/SQL code using the [debug](debugging-oracle-pl-sql-code.html) functionality.

