Database tool window
In the Database tool window ( ), you can work with databases and DDL data sources. You can view and modify data structures in your databases, and perform other associated tasks. To view a table, double-click the table. For more information about different viewing modes, see View data.
The available data sources are shown as a tree of data sources, schemas, tables and columns. If no data sources are currently defined, use the New command Alt+Insert to create a data source.
Most of the functions in this window are accessed by means of the toolbar icons or context menu commands. (If the toolbar is not currently shown, click on the title bar and select Show Toolbar.) Many of the commands have keyboard shortcuts. If the toolbar is hidden, the Refresh and Open Query Console commands can be access by means of the title bar icons ( and respectively).
Controls on the toolbar
|Collapse all the nodes.||All node types|
|New||Alt+Insert||Create a new data source, role, database, schema, query console, table, column, index, or a primary or a foreign key. The list of options depends on which element is currently selected.||Data sources and their elements. If a DDL data source is selected, you can only choose to create another data source.|
|Duplicate||Ctrl+D||Create a copy of the selected data source. Specify the properties of the data source in the Data Sources and Drivers dialog that opens.||DB and DDL data source nodes|
Update the view of the selected element (that is to synchronize the view of the element with its actual state in the database).
See also, Data sources and drivers dialog.
|data sources and their elements|
|Data Source Properties||Open the Data Sources and Drivers dialog to manage your data sources and their settings.||All node types|
|Disconnect||Ctrl+F2||Close the database connection for the selected data source or data sources. (The names of the data sources with active database connections are shown in bold.)||Data sources with active connections and their elements|
|Edit Data||F4||Open a table view of the object in the data editor. This option works for tables, views, and materialized views.||Corresponding elements in data sources.|
Open the DDL of the selected object. For example, if you press this shortcut on a table's name in the SELECT statement, you will see the DDL of this table (the CREATE TABLE statement).
|Corresponding elements in data sources.|
|Jump to Query Console||Ctrl+Shift+F10||Open the default query console for the corresponding data source.||Data sources and their elements (tables and table columns)|
|Filter||Open a list of database objects that you can filter for the selected database. The list of database objects depends on the selected database. To see a full list of available database objects and their icons, go to Icons for data sources and their elements.||Data sources and their elements|
Controls of the right-click menu
Context-menu actions appear when you right-click an object in the Database tool window ( ).
|New||Create a new data source, role, database, schema, query console, table, column, index, a primary or a foreign key. The list of options depends on which element is currently selected.|
|Rename||Shift+F6||Rename the selected data source, table or column. Specify the new name in the dialog that opens.|
Edit the definition of a table, column, index, primary or a foreign key.
|Copy Reference||Ctrl+Alt+Shift+C||Copy the fully qualified name of the selected data source, table or column to the clipboard.|
View basic information about the selected element.
To close the documentation popup, press Escape.
|Find Usages||Alt+F7||Find all the usages or references of a data source, table, column, or any other selected item in your source files and libraries.|
|Add to Favorites|
Add an item to the Favorites list. You can quickly access those items in the Favorites tool window ( ).
Generate data definition structures for database objects. For example, you can generate DDL files for a single table or for all the tables in the schema. Also, you can customize generation settings. For example, you can set what syntax to use for table creation:
If your database stores DDL of the object, retrieve DDL from the database.
Generate DDL of the object and copy it to the clipboard.
Generate DDL of the object and paste it to a query console.
|Modify or add a comment to a database object like if you have run the following query |
|Remove all the rows in the selected table.|
Open a popup with available schemas for the current data source.
|Hide the schema that is selected.|
Delete the data source information from cache and load it again. This action is available on the data source node only.
Delete the information that PyCharm has accumulated about your database. This action is available on the data source node only.
Use this command when you experience issues like wrong display of data structures or errors during synchronization.
To check if this has eliminated the problem, use the Synchronize command.
|Shift+Enter||Open the Data Sources and Drivers window where you can customize data source settings.|
|Remove the primary key constraint for the current table.|
|Remove the foreign key constraint.|
Generate a PyCharm-specific representation of the database structure (a database model).
Reload the metadata from the database and generate a LOG file. This information might be helpful for the support team when you think that your introspection is slow.
Generate three files that include information about the data source (dataSource.txt), a module that was used to load the metadata from the database (introspector.txt), and a part of the database model (model.xml).
This information might be helpful when introspection works incorrectly. For example, when you see something outdated or do not see new objects.
|Delete||Remove the selected item.|
|Jump to Query Console||Ctrl+Shift+F10||Create and open a new query console for the selected data source.|
|Refresh||Ctrl+F5||Create and open a new query console for the selected data source.|
Compare structures of two selected database objects (data sources, schemas, or tables). The comparison results are shown in the differences viewer.
|Compare Content||Compare the output results of tables, views, and materialized views. The comparison results are shown in the differences viewer.|
|Export Data to File|
Save data for the selected tables and views in files. Select the output format (for example, SQL Inserts, Tab-separated (TSV), JSON-Clojure.json.clj).
Export with 'mysqldump'
Export with 'pg_dump'
Run mysqldump or pg_dump for the selected items. mysqldump and pg_dump are native MySQL and PostgreSQL tools. They are not integrated into PyCharm. You can read about them at dev.mysql.com and postgresql.org.
|Import Data from File|
Import a text file containing delimiter-separated values (CSV, TSV, and so on) into your database.
If a schema is currently selected, PyCharm will create a new table for the data that you are importing. If a table is selected, PyCharm will try to add the data to the selected table.
Search for data in your databases or a group of databases without knowing data exact location.
For more information about the full-text search, see Full-text search in databases.
Restore with 'mysql'
Restore with 'psql'
|Copy Table to||F5||Create a copy of the selected table. You can create a copy in a different scheme or data source. For example, you can copy the |
Set or change the color for the selected element or elements. (The Database Color Settings dialog will open.)
To set a color, right-click a data source and select Color Settings. In the Database Color Settings dialog, select the dialog and coloring options. To have the data source color applied for query consoles and grids, select the In console editors and grids checkbox.
|Generate a Java entity class for the selected table. In the dialog that opens, specify the directory in which the JAVA class file should be generated.|
|Switch to the directory where the Generate POJOs.clj example script file is located.|
View a UML class diagram for the selected data source or table. You can select between the following options:
The view options, generally, define what is shown in the tool window and how. To view or change these options, click on the title bar.
|Group Data Sources|
Displays folders for data sources if you created any.
|Group Server and Database Objects|
Displays folders for server and database objects. This setting concerns users, roles, tablespaces, modules, foreign data wrappers and other rarely-used objects.
|Group Schema Objects|
Defines how schema elements are shown.
When on, there are separate nodes for tables, views and stored routines (shown as folders). Tables, views and routines (procedures and functions) are shown as elements of the corresponding groups.
When off, there is no explicit grouping for tables, views, and routines. Tables and views are followed by procedures and functions.
|Group Object Elements|
This option defines how table elements are shown.
When on, there are separate nodes for columns, indexes, primary and foreign key constraints, and triggers (shown as folders). The elements appear in the corresponding groups.
When off, there is no such grouping and, generally, only columns are shown for tables.
|Show All Namespaces|
Show all databases and schemes even if they are not selected for introspection.
When the Show All Namespaces option is disabled, databases that are not selected for introspection do not appear in the Database tool window ( ).
When the Show All Namespaces option is enabled, databases that are not selected for introspection are displayed in the Database tool window ( ).
|Show Empty Groups|
The Show Empty Groups option is on:
The Show Empty Groups option is off:
|Show Intermediate Nodes|
Shows or hides parent nodes only when you do not have other objects on the same level with a parent.
|Show Generated Objects|
For Oracle, shows or hides auto-generated objects in the tree. It concerns the following objects:
When this option is off, columns, generally, are unsorted.
When this option is on, the columns are ordered alphabetically.
|Show Toolbar||Display the toolbar in the Database tool window ( ) .|
The rest of the options are common for all the tool windows, see Tool window view modes.
Icons for data sources and their elements
Column. For more information about column icon combinations, see Possible icon combinations for columns.
|DDL data source|
|Foreign Data Wrapper|
Read-only data sources
|Stored procedure or function|
Possible icon combinations for columns
|Icon||Foreign key||Primary key||Indexed||NOT NULL|
Title bar context menu and buttons
You can also use the toolbar buttons:
Automatically sets the focus on the object name in the Project view when the editor area is in focus.
|Ctrl+NumPad -||Collapse all expanded nodes in the current view.|
Hide the tool window.
To hide all the tool windows, press Ctrl+Shift+F12.