Find a table, a column or a value
You know a name, an id or an email address, and you want the rows behind it. Start from whatever you have: a table’s name, a column’s name, or a value.
Go to a table, column or saved query by name
Section titled “Go to a table, column or saved query by name”- Press ⌘P on macOS, Ctrl+P on Windows and Linux, or run Go to… from the command palette.
- Type part of a name. The list shows tables first, then saved queries (matched by name or by their text), queries from your history, columns, the other kinds of object, and the commands whose names match.
- Press Enter, or click a row.
A table opens in its own tab. A column opens its table. A column’s row shows its type, and its comment on a second line when it has one.
Type > first to list commands only.
Search when you want to open several things
Section titled “Search when you want to open several things”Go to closes once you pick something. To keep the results while you open them one after another, use Search in the sidebar:
- Press ⌘⌥F on macOS, Ctrl+Alt+F on Windows and Linux, or run Show Search.
- Type in the box. Results are grouped: tables and the other object kinds, Columns, Saved queries, History, and In the data.
- Click a table to preview it in a tab, or use the arrow keys and Enter to open any result.
Find a value when you don’t know the table
Section titled “Find a value when you don’t know the table”When what you have is a value, such as 4471 or [email protected], let Alcuin look for it.
- Type the value into Go to or Search. The last row reads
Find “4471” in data…. Choose it. You can also run Find value in data… from the command palette. - In the Find value tab, check the value and choose:
- Where: the current schema, or Every schema.
- Which columns to look in: Text, Numbers, UUIDs and JSON text. JSON text is off until you select it, and a JSON column is always searched as Contains.
- How to match: Equals, Contains or Starts with.
- Click Start.
Alcuin reads one table at a time, smallest first, with one read-only statement each. Progress shows as it goes. Each hit names the table, the columns the value was found in, and up to five of its rows, with 5+ rows when it found five or more. A table that takes longer than 15 seconds is passed over and marked not looked in. Text columns are always searched. Number columns are searched only when the value is a number, and UUID columns only when it is a whole UUID.
- Click a hit’s table to open it filtered to the value.
- Click Open as query to get the hits as one query, up to five rows from each table.
- Click Cancel to stop. What was found so far stays.
When the connection’s rules ask before large results, as production’s do at first, a scan over more rows than that asks you first, with the estimate: Scan this much on production?, or Scan this much? elsewhere. See Work on production without breaking it.
Follow a foreign key to the row it points to
Section titled “Follow a foreign key to the row it points to”Open the row first. On a table’s Data tab, double-click a cell or a row number. The row panel opens beside the grid.
A foreign key’s value in the row panel is a link to the row it points to: the row’s name with its key, or the key alone. Hover it for where it goes, for example Go to customer 9127.
- Click the link to go to that row in the panel. The panel keeps a trail of the rows you came through; click an earlier step to go back.
- Click the field’s name to peek at a few of that row’s fields in place.
- To open the row in a tab of its own, ⌘-click the link on macOS or Ctrl-click it on Windows and Linux. A middle click also works.
From the grid, select a key cell and press Enter to go to its row in the panel. Right-click a key cell for both choices, for example Go to customer 9127 and Open customer 9127 in a tab.
Follow a foreign key the other way
Section titled “Follow a foreign key the other way”Below the fields, the row panel lists every table whose rows point at this row, with a count. The counts stop at 1,000 and show 1,000+ past that.
- Click a table’s name to unfold its first five rows. Click one to go to it in the panel.
- Click the tab mark beside the count, for example Open 12 orders in a tab, to open that table filtered to the rows that point here.
A table filtered this way shows its filter in the filter bar, such as customer_id = 4471. Remove it there to see every row. See Filter and sort without SQL.
What success looks like
Section titled “What success looks like”The row you were after is open, in the row panel or in a table tab filtered to it. From there you can fix it, or copy a value with the field’s menu.
If you can’t find it
Section titled “If you can’t find it”- On a query result that joins tables or groups rows, the row panel says
Not one table’s row. Keys shown in it still open their own rows. - If Find value finds nothing, try Contains instead of Equals, or Every schema.