> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zangtable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tables and columns

> Design tables and evolve schema safely.

Tables are database tables you create inside a project. Columns define the fields each record can store. Column names are validated, and supported types are `INTEGER`, `REAL`, `TEXT`, `BLOB`, and `ANY`.

## Defaults

* If you create a table without a primary key column, ZangTable automatically adds an `id` column as an integer primary key.
* If you create a column without passing `column_type`, ZangTable uses `TEXT`.
* The API does not automatically add `created_at` or `updated_at` columns. Add those yourself if your app needs them.

## Typical flow

1. Create a table with initial columns.
2. Add or rename columns through the column endpoints.
3. Use indexes for fields that power list filters and sort views.

<CardGroup cols={2}>
  <Card title="Create table" icon="plus" href="/reference/tables/create-table" />

  <Card title="List columns" icon="columns-3" href="/reference/columns/list-columns" />

  <Card title="Create index" icon="gauge" href="/reference/query/create-index" />

  <Card title="Records guide" icon="table" href="/guides/records" />
</CardGroup>
