> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hyjal.cloud/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hyjal.cloud/_mcp/server.

# Tables view

> The Tables surface renders Hyjal Tables as live editable grids: edit cells, run column operations, browse the changelog, and restore deleted rows.

This article describes the **Tables** surface in the Console: the live,
editable grids that render [Hyjal Tables](/data/hyjal-tables). The same grids
appear in a Resource's Tables tab and when you open a `.db` file from the
[Explorer](/get-started/console/explorer). For creating and querying tables from
code, see [Create tables](/data/tables/create-tables) and
[Query from code](/data/tables/query-from-code).

## Grids

Each Hyjal Table renders as a grid: columns across the top, rows below. The grid
is the table: it reads and writes the same Project data your code queries
through the [Database Door](/data/database-door), so an edit in the grid is
visible to the next request that reads the table.

Tables are stored in the Project [Bucket](/data/buckets) and queried with scoped
SQL. A table group has single-writer semantics; reads scale with the fleet.

## `.db` files render as live tables

A `.db` file opened from the Explorer renders as a live Tables grid, not as
opaque bytes. Browsing, editing, and column operations all work on the file's
tables directly. This is the same surface the workspace uses everywhere Tables
appear, so there is one way to work with a table regardless of how you reached
it.

## Cell editing

Click a cell to select it; double-click or press `Enter` to edit. Type the new
value and commit with `Enter`, or discard with `Escape`. Edits are typed to the
column: a value that does not match the column type is rejected at commit rather
than written. Committed edits are recorded in the [changelog](#changelog).

## Column operations

Column operations are reached from the column header menu.

| Operation     | Effect                                            |
| ------------- | ------------------------------------------------- |
| Add column    | Append a column; set its name and type            |
| Rename column | Change the column name                            |
| Change type   | Convert the column to a compatible type           |
| Sort          | Order rows by the column, ascending or descending |
| Delete column | Remove the column and its values                  |

Sorting is a view operation and does not change stored order. Add, rename, type
change, and delete alter the table and are recorded in the changelog.

## Changelog

Every mutation to a table is recorded in the **changelog**: cell edits, row
inserts and deletes, and column operations, each with who made the change and
when. Open the changelog from the grid to review the history of a table.

## Restore deleted rows

Because every mutation is recorded, deleted rows are recoverable. Find the
delete in the changelog and **restore** the row; it returns to the table with
its previous values. Restoring is itself recorded, so the history stays
complete.

The changelog records mutations to table data. It is distinct from a Resource's
[Activity](/get-started/console/inspector) tab, which records deploys,
rollbacks, and policy changes.

## Next steps

* Create a table from the Console: [Create tables](/data/tables/create-tables)
* Edit tables in the Console: [Edit in the Console](/data/tables/edit-in-console)
* Read and write from your code: [Query from code](/data/tables/query-from-code)