Skip to content

Data grid ​

Double-click a table in the sidebar to open its data, or right-click it and choose Open Data. Query results use the same grid. Earlier versions of rows in a MariaDB system-versioned table are shown separately, in Row history.

Editing ​

Press Enter or F2 on a cell to edit it, Esc to cancel. Tab moves to the next cell, the arrow keys move around, and Shift+click selects a range.

Edits are collected and applied when you press Ctrl+S or click Save. Discard throws them away. The toolbar shows how many unsaved changes are pending, and NabuSQL asks for confirmation before you page away from them.

Delete sets a cell to NULL. To remove rows, select them and use Delete row from the right-click menu.

Tables without a primary key

If the table has no primary key the grid shows Table has no primary key. Without one there is no reliable way to address a single row, so edit such tables with care — or add a key first in Tables and columns.

Filtering and sorting ​

  • Filter opens a condition builder. Click + Add condition, pick a column, an operator and a value, then apply. Conditions combine, and Clear removes them.
  • You can also type a raw expression, e.g. age > 18 AND name LIKE 'A%'.
  • Click a column header to sort; the column menu offers ascending, descending and clear.
  • Columns controls which columns are visible; Show all brings them back.
  • The search box filters the loaded rows.

Paging ​

The bottom bar sets rows per page and jumps to a page number — type a value and press Enter. With unsaved edits pending, changing either asks for confirmation first.

Copying data out ​

Right-click a cell or a selection:

EntryResult
Copy rowThe row as text (Ctrl+C)
Copy as ▸ INSERT statementA ready INSERT for the selected rows
Copy as ▸ INSERT statement (without PK)Same, minus the primary key — for copying rows into another table
Copy as ▸ UPDATE statementAn UPDATE keyed on the primary key
Copy as ▸ Tab separated valuesTSV, ready for a spreadsheet
Copy as ▸ Field names + tab separatedTSV with a header row
Copy cell valueJust that one cell

Select several rows first and every Copy as entry applies to all of them.

Exporting to a file ​

Export view in the toolbar writes the table to CSV, TXT, JSON, XLSX, ODS, XML or SQL exactly as the grid shows it — filter, column filters, search and sort, over every matching row rather than just the loaded page. Hidden columns can be left out.

To export only some rows, select them first: click a row number, then Shift+click another to take everything in between. The dialog then offers Selected rows only and picks it for you. See Exporting from the data grid.

Adding and pasting rows ​

  • Insert row above / Insert row below create an empty row at that position.
  • New Row in the toolbar appends one.
  • Paste (Ctrl+V) writes clipboard content into the selected cells.
  • After copying a row, Insert copied row as new adds it as another row, while Paste row into this row overwrites the row you clicked.

Column operations ​

The column header menu can sort, copy the whole column's data, copy the column name, and set every visible cell in the column to an empty string or to NULL. Both bulk operations ask for confirmation and name the column.

Cell viewer ​

Text in the toolbar opens a panel showing the full content of the selected cell — useful for long text and anything else a grid cell truncates. Drag its top edge to resize it.

The panel has up to three tabs, and only offers the ones the selected cell actually has:

  • Text — the raw value, editable in place unless the column is a primary key. Set '' and Set NULL are on the panel header.
  • JSON — appears when the value parses as a JSON object or array, and shows it as a collapsible tree. A cell holding a bare 123 is technically valid JSON, so the tab deliberately ignores those — otherwise it would light up on every ordinary value.
  • Binary — appears for BLOB, BINARY, bytea and IMAGE columns.

Binary content ​

Binary columns are the one thing a result grid cannot carry: everything in it is text, so a BLOB arrives as a <binary N bytes> placeholder. The Binary tab fetches the real bytes on demand, which is why it waits for you to click Load contents rather than pulling megabytes every time you move the cursor.

Once loaded you get the true size, the detected type, and either a picture or an offset/hex/ASCII dump. Save as… writes the whole cell to a file — the export re-reads it server-side, so what you save is never the truncated preview.

Only the first megabyte is fetched for the preview. Past that the panel says so, and for an image it stops trying to render rather than showing you a broken half-picture — use Save as… to see all of it.

Identifying the row

The fetch addresses the row by its primary key, falling back to the first column when there isn't one. If neither can identify the row the panel says so instead of guessing.

Vector columns ​

A VECTOR column (MariaDB 11.7+, MySQL 9+) is stored as packed numbers, but the grid shows it as text — [1,2.5,-3] — and you edit it the same way; the server converts the text when you save. Write the numbers in square brackets, separated by commas, as many as the column's dimension.

In the SQL editor a plain SELECT * still shows such a column as <binary N bytes>, because a query result does not say which binary columns are vectors. Ask for the text form there: VEC_ToText(column) on MariaDB, VECTOR_TO_STRING(column) on MySQL.

Calculator ​

Calculator in the toolbar opens a strip above the pager that summarises whatever is selected — a dragged range, a whole row via its row number, a whole column via its header, or a single cell.

It shows the number of cells, distinct values and NULLs, and — when the selection contains numbers — sum, average, minimum and maximum. If only part of the selection was numeric it says how many values it actually counted, rather than quietly summing a subset.

It reads the current page

The strip is computed from the rows that are loaded, which is one page. It says current page only for exactly that reason.

When the selection covers exactly one column, a Σ whole table button appears. That runs a real aggregate query over the entire table — under whatever filter the grid currently has applied, so the numbers describe the rows you are actually looking at. Sums keep their exact type, so a DECIMAL total is not rounded through a floating-point value on the way back.