PhpStorm 2016.3 Help

Working with Query Results

When you run a query (a SELECT statement) in the console, the data retrieved from the database are shown in table format in the Result pane of the Database Console tool window. Depending on the settings, a new Result tab opens for each query, or one and the same tab is used. In the latter case, the results on the tab are updated for each next query.

Use the Result pane to sort, add, edit and remove the data as well as to perform other, associated tasks.

Hiding or showing the toolbar

To hide or show the toolbar of the Result pane and also that of the Database Console tool window:

  • Click /help/img/idea/2016.3/viewMode.png on the title bar of the Database Console tool window and click Show Toolbar.

Pinning the Result tab

If one and the same tab is used to show your query results, and you get the result that you want to keep, you can pin the tab to the tool window. Do one of the following:

  • Right-click the tab and select Pin Tab.
  • Click /help/img/idea/2016.3/pin.png on the toolbar.
    /help/img/idea/2016.3/ShowResultsInNewTabOFFPinTab.png

See also, Show query results in new tab.

Switching between subsets of rows

If only a subset of the rows that satisfy the query is currently shown, to switch between the subsets, use:

  • /help/img/idea/2016.3/dataSourceTableEditorFirstPage.png First Page
  • /help/img/idea/2016.3/dataSourceTableEditorPreviousPage.png Previous Page (Ctrl+Alt+Up)
  • /help/img/idea/2016.3/dataSourceTableEditorNextPage.png Next Page (Ctrl+Alt+Down)
  • /help/img/idea/2016.3/dataSourceTableEditorLastPage.png Last Page

See also, Making all rows visible simultaneously.

Making all rows visible simultaneously

If you want all the rows that satisfy the query to be shown simultaneously:

  1. Click /help/img/idea/2016.3/settings.png on the toolbar of the Database Console tool window.
  2. Switch to the Database | Data Views page, specify 0 in the Result set page size field, and click OK.
  3. Click /help/img/idea/2016.3/refresh.png or press Ctrl+F5 to refresh the table view.

See also, Updating the table view and Result set page size.

Navigating to a specified row

To switch to a row with a specified number:

  1. Do one of the following:
    • Press Ctrl+G.
    • Right-click the table and select Go To | Row from the context menu.
    • Select Navigate | Row from the main menu.
  2. In the dialog that opens, specify the row number and click OK.

Navigating to related records

If a row references a record in a different table or is referenced in a different table, you can switch to the corresponding table to see the related record or records.

To switch to a referenced row:

  1. Do one of the following:
    • Press Ctrl+B.
    • Select Go To | Referenced Data from the context menu.
  2. If more than one record is referenced, select the target record in the pop-up that appears.

To switch to a row that references the current one, or to see all the rows that reference the current one:

  1. Do one of the following:
    • Press Alt+F7.
    • Select Go To | Referencing Data from the context menu.
  2. Select the target in one of the following categories:
    • First Referencing Row. All the rows in the corresponding table will be shown and the first of the rows that references the current row will be selected.
    • All Referencing Rows. Only the rows that reference the current row will be shown.

The options described above can also be accessed by using one of the following:

  • F4.
  • Go To | Related Data in the context menu.
  • Navigate | Related Data in the main menu.

Sorting data

You can sort table data by any of the columns by clicking the cells in the header row.

Each cell in this row has a sorting marker in the right-hand part and, initially, a cell may look something like this: /help/img/idea/2016.3/TableEditorHeaderCellUnsorted.png. The sorting marker in this case indicates that the data is not sorted by this column.

If you click the cell once, the data is sorted by the corresponding column in the ascending order. This is indicated by the sorting marker appearance: /help/img/idea/2016.3/TableEditorHeaderCellSortAsc.png. The number to the right of the marker (1 on the picture) is the sorting level. (You can sort by more than one column. In such cases, different columns will have different sorting levels.)

When you click the cell for the second time, the data is sorted in the descending order. Here is how the sorting marker indicates this order: /help/img/idea/2016.3/TableEditorHeaderCellSortDesc.png.

Finally, when you click the cell for the third time, the initial state is resorted. That is, sorting by the corresponding column is canceled: /help/img/idea/2016.3/TableEditorHeaderCellUnsorted.png.

See also, Restoring the initial table view and Using the Structure view to sort data, and hide and show columns.

Reordering columns

To reorder columns, use drag-and-drop for the corresponding cells in the header row.

/help/img/idea/2016.3/TableEditorReorderColumns.png

See also, Restoring the initial table view.

Hiding and showing columns

To hide a column, right-click the corresponding header cell and select Hide column.

To show a hidden column:

  1. Do one of the following:
    • Right-click any of the cells in the header row and select Column List.
    • Press Ctrl+F12.

    In the list that appears, the names of hidden columns are shown struck through.

    /help/img/idea/2016.3/TableResultPaneHideColumn.png
  2. Select (highlight) the column name of interest and press Space.
  3. Press Enter or Escape to close the list.

See also, Restoring the initial table view and Using the Structure view to sort data, and hide and show columns.

Restoring the initial table view

Click /help/img/idea/2016.3/IconDBToolbarMenu.png on the toolbar and select Reset View to restore the initial table view after reordering or hiding the columns, or sorting the data. As a result, the data, generally, becomes unsorted, the columns appear in the order they are defined in the corresponding query, and all the columns are shown.

Using the Structure view to sort data, and hide and show columns

When working with the Result pane, the table structure view is available as the corresponding popup.

The structure view shows the list of all the columns and lets you sort the data as well as hide and show the columns.

To open the structure popup, do one of the following:

  • Right-click a cell in the table header row and select Column List.
  • Press Ctrl+F12.

In the popup, select the column of interest and do one of the following:

  • To sort the data by this column in the ascending order, press Shift+Alt+Up.
  • To sort the data in the descending order, press Shift+Alt+Down.
  • To cancel sorting by this column, press Ctrl+Shift+Alt+Backspace.
  • To hide the column (or show a hidden column), press Space. (The names of hidden columns are shown struck through.)
    /help/img/idea/2016.3/TableResultPaneHideColumn.png

The shortcuts for sorting table data (Shift+Alt+Up, Shift+Alt+Down and Ctrl+Shift+Alt+Backspace) can be used in the Result pane without opening the structure view.

See also, Sorting data, Hiding and showing columns and Restoring the initial table view.

Using the quick documentation view

The quick documentation view provides details about the values in the selected cell or cells. For example, if a cell contains long text, normally, you can see only its beginning. The whole text is shown in the quick documentation view.

/help/img/idea/2016.3/DBTableQuickDoc.png

If a cell contains an image, you can see that image in the quick documentation view.

/help/img/idea/2016.3/DBTableQuickDocPicture.png

You can also see the records referenced in the current record as well as the records that reference the current one.

/help/img/idea/2016.3/TableValueView.png

If necessary, you can switch to the transposed view. This is when the rows and columns are interchanged. Thus, for a row, the cells are shown one beneath the other.

/help/img/idea/2016.3/TableTransposedRowView.png

To open the quick documentation view, press Ctrl+Q or select Quick Documentation from the View or the context menu.

To switch to the transposed view, click Transposed View. See also, Transposing the table.

To close the quick documentation view, press Escape.

Transposing the table

The transposed table view is available. In this view, the rows and columns are interchanged.

To turn this view on or off, click /help/img/idea/2016.3/IconDBToolbarMenu.png on the toolbar and select Transpose. Alternatively, use the Transpose context menu command.

Enabling coding assistance for a column

You can assign a column one of the supported languages (e.g. SQL, HTML or XML): right-click the corresponding header cell, select Edit As and select the language. As a result, you get coding assistance for the selected language in all the cells of the corresponding column.

You can also assign a language to an individual cell.

Selecting cells and ranges: using unobvious techniques

Adding cells with the same contents. Select a cell. Now, to add the nearest cell with the same contents to the selection, press Alt+J. (When looking for the corresponding cell, PhpStorm moves down.) Each next press of Alt+J will add another cell to the selection.

To remove the cells from the selection one by one - starting from the last selected cell - use Shift+Alt+J.

If a number of cells in the same row are initially selected, Alt+J and Shift+Alt+J work the same way.

Expanding a selection: cell - column - row - table. Select a cell. Now, to select all the cells in the current column, press Ctrl+W. The second press of Ctrl+W cancels the selection of the column and selects all the cells in the current row. Finally, the third press of Ctrl+W selects the whole table.

Ctrl+W works similarly if a number of cells or a range is initially selected.

Modifying cell contents

You can modify values in the table cells and, if appropriate, upload files.

  1. To start editing a value or uploading a file, do one of the following:
    • Double-click the corresponding table cell.
    • Right-click the cell and select Edit or Edit Maximized from the context menu.
    • Select the cell and press F2 or Shift+Enter. In the latter case, the cell will be maximized.
    • Select the cell and start typing. Note that in this case the initial cell contents are deleted right away and is replaced with the typed value.
  2. When in the editing mode, you can:
    • Modify the value right in the cell. To start a new line, use Ctrl+Enter. To enter the value, press Enter. To restore an initial value and quit the editing mode, press Escape.
      /help/img/idea/2016.3/DBEditValueInCell.png
    • Use value completion. Press Ctrl+Space to open the suggestion list. The list contains the values from the current column that match your input.
    • Maximize the cell if you need more room for editing. To do that, press Ctrl+Shift+Alt+M, or right-click the cell and select Maximize.

      When working in a maximized cell, use Enter to start a new line and Ctrl+Enter to enter the value. To restore an initial value and quit the editing mode, press Escape.

      /help/img/idea/2016.3/DBEditValueInBigCell.png
    • Upload a file into the field (e.g. to replace an existing file with a new one). To do that, right-click the cell and select Load File. Then select the necessary file in the dialog that opens.

      If a field can contain text, this function can be used to insert the contents of a text file into the field.

    • Replace the current value with the default one or null (if appropriate). To do that, right-click the cell and select Set DEFAULT or Set NULL.
    • Edit a value in the cell as a fragment in one of the supported languages (e.g. SQL, HTML or XML). To do that, right-click the cell, select Edit As and select the language. As a result, you get coding assistance for the language you have selected.
      /help/img/idea/2016.3/DBEditValueInCellAsLang.png
  3. To complete the task, you may want to submit the changes. See Submitting and reverting changes.

Modifying values in a number of cells at once

You can modify a value in a number of cells at once:

  1. Select the range or ranges of interest.
  2. Start editing the value: select Edit from the context menu, press F2 or simply start typing. The changes are applied to all the selected cells only if those cells can contain the same value.
  3. To enter the value, press Enter. To cancel editing, press Escape.
  4. To complete the task, you may want to submit the changes. See Submitting and reverting changes.

Adding a row

If /help/img/idea/2016.3/DBAddRow.png on the toolbar is enabled, you can add rows to the table.

  1. To start adding a row, do one of the following:
    • Click /help/img/idea/2016.3/DBAddRow.png on the toolbar.
    • Right-click the table and select Add New Row from the context menu.
    • Press Alt+Insert.

    Note that the context menu Clone Row command (Ctrl+D) can be used as an alternative.

  2. Enter the values into the cells. For instructions, see Modifying cell contents.
  3. To save the new row, select Submit from the context menu or press Ctrl+Enter.

    See also, Submitting and reverting changes.

Deleting rows

If /help/img/idea/2016.3/DBDeleteRows.png on the toolbar is enabled, you can delete rows. To do that:

  1. Select the row or rows that you want to delete.

    Rows are selected by clicking the cells in the column where the row numbers are shown. To select more than one row, use mouse clicks in combination with the Ctrl key.

  2. Do one of the following:
    • Click /help/img/idea/2016.3/DBDeleteRows.png on the toolbar.
    • Press Ctrl+Y or Delete.
  3. Submit the changes to the server or confirm you intention to delete the selected row or rows.

    See also, Submitting and reverting changes.

Submitting and reverting changes

PhpStorm lets you specify how the changes that you make to data in a table are submitted to the database server. There is the Submit changes immediately option for that.

By default, this option is off. So the changes are accumulated in PhpStorm unless you carry out the Submit command (Submit in the context menu or Ctrl+Enter). Before you submit the changes, you can revert them (Revert in the context menu or Ctrl+Z).

The changes for a table are submitted all at once.

The scope of the Revert command is defined by the current selection in a table: the command is applied only to the changes within the selection. So you can revert an individual change, a group of changes or all the changes.

If nothing is currently selected, the Revert command is applied to the whole table.

Unsubmitted changes are highlighted. New rows are green, cells with changed values are blue, and the rows that are going to be deleted are gray.

If the Submit changes immediately option is on, the changes are submitted right-away, and, generally, you don't need to use the Submit command.

Managing database transactions

The Auto-commit check box, and the Commit /help/img/idea/2016.3/DBCommit.png and Rollback /help/img/idea/2016.3/DBRollback.png icons on the toolbar let you manage database transactions.

The Auto-commit check box is used to turn the autocommit mode for the database connection on or off.

In the autocommit mode, each SQL statement is executed in its own transaction that is implicitly committed. Consequently, the SQL statements executed in this mode cannot be rolled back.

(Each change of a value in the table, or adding or deleting a row - when submitted to the database server - results in executing an SQL statement.)

If the autocommit mode is off, transactions are committed or rolled back explicitly by means of the Commit (/help/img/idea/2016.3/DBCommit.png) or Rollback (/help/img/idea/2016.3/DBRollback.png) command. Each commit or rollback starts a new transaction which provides grouping for a series of subsequent SQL statements.

In this case, the data manipulations in the transaction scope are committed or rolled back all at once when the transaction is committed or rolled back.

Comparing tables

You can compare the current table with any other table which is open in the table editor or shown in the Database Console tool window. To do that, click /help/img/idea/2016.3/CompareWithIcon.png on the toolbar and select the table of interest.

The comparison results are shown in the differences viewer.

Copying table data to the clipboard or saving them in a file

When copying table data to the clipboard or saving them in a file, the data are converted into one of the available output formats. This can be SQL INSERT or UPDATE statements, TSV or CSV, an HTML table or JSON data. See Specifying data output format and options.

To copy or save the data, use:

  • Copy (available in the Edit and the context menu, the keyboard equivalent is Ctrl+C). This command copies the data for the selected cells onto the clipboard.
  • Dump Data | To Clipboard (available in the context menu and can also be accessed by means of /help/img/idea/2016.3/downloadArtifacts.png on the toolbar). This command copies the data for the whole table onto the clipboard.
  • Dump Data | To File (available in the context menu and can also be accessed by means of /help/img/idea/2016.3/downloadArtifacts.png on the toolbar). This command saves the data for the whole table in a file. Before actually saving the data, the dialog is shown which lets you select the output format and see how your data will look in a file.

Copying and pasting data: data types are converted if necessary

You can copy (Ctrl+C) and paste (Ctrl+V) selected cells and ranges of cells - within the same table or from one table to another one. When pasting, PhpStorm converts data types automatically if and as necessary.

Specifying data output format and options

To specify the output format and options for the Copy and Dump Data commands (see Copying table data to the clipboard or saving them in a file), do one of the following:

  • Click /help/img/idea/2016.3/DataExtractorButton.png on the toolbar.
  • Right-click the table and point to Data Extractor: <current_format>.

In the menu that opens, the output formats are in the upper part: SQL Inserts, SQL Updates, etc. (The options that look like file names are also the output formats or, to be more exact, the scripts that implement corresponding data converters.)

The output option are:

  • Allow Transposition. This option affects only delimiter-separated values formats (TSV, CSV). If the table is shown transposed and you are copying selected cells or rows to the clipboard (e.g. Ctrl+C), the selection is copied transposed (as shown) if the option is on and non-transposed (as in the original table) otherwise.
  • Skip Generated Columns (SQL). This is the option for SQL INSERTs and UPDATEs. When on, auto-increment fields are not included.
  • Add Table Definition (SQL). This is also the option for SQL INSERTs and UPDATEs. When on, the table definition (CREATE TABLE) is added.

Additionally:

  • Configure CSV Formats. This command opens the CSV Formats dialog that lets you manage your delimiter-separated values formats (e.g. CSV, TSV).
  • Go to Scripts Directory. This command lets you switch to the directory where the scripts that convert table data into various output formats are stored.

Saving a LOB in a file

If a cell contains a binary large object (a.k.a. BLOB or LOB), you can save such a LOB in a file.

  1. Right-click the cell that contains the LOB of interest and select Save LOB To File.
  2. In the dialog that opens, specify the name and location of the destination file and click OK.

Updating the table view

To refresh the table view, do one of the following:

  • Click /help/img/idea/2016.3/refresh.png on the toolbar.
  • Right-click the table and select Reload Page from the context menu.
  • Press Ctrl+F5.

Use this function to:

  • Synchronize the data shown with the actual contents of the database.
  • Apply the Result set page size setting after its change.

Viewing the query

To see the query that was used to generate the table:

  • Click View Query on the toolbar.

    If necessary, you can select the query text and copy it to the clipboard (Ctrl+C).

To close the pane where the query is shown, press Escape.

See Also

Last modified: 23 March 2017