> For the complete documentation index, see [llms.txt](https://docs.ninox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ninox.com/builder-hub/design-your-app/create-and-manage-tables.md).

# Create and manage tables

Tables define your app's structure and store its records.

Use this guide to create, rename, and delete tables. Arrange tables in the app navigation with drag and drop. Learn how labels, internal names, and view names affect your app.

To manage data fields in tables, see [Add and edit data fields in your tables](/builder-hub/design-your-app/add-and-edit-data-fields-in-your-tables.md).

{% hint style="info" %}
All tasks in this guide require **Builder mode**. If it is not enabled, turn it on in the **App navigation** before you start.
{% endhint %}

## Create tables

Create tables manually or let Ninox AI build an initial structure from your description.

{% tabs %}
{% tab title="Create table with Ninox AI" %}
Use **Ninox AI** to create a table from a plain-language description.

{% stepper %}
{% step %}

#### Open Ninox AI

From the app screen, click <i class="fa-wand-magic-sparkles">:wand-magic-sparkles:</i> **Ninox AI** in the main navigation.
{% endstep %}

{% step %}

#### Describe the table you need

State the table name, what it tracks, and the fields it needs.

For example, ask Ninox AI to create a vacation-planning table with destinations, travel dates, a budget, and a booking status.
{% endstep %}

{% step %}

#### Review and approve the proposed structure

Review the proposed table and its fields. Check that every field has the correct name and type.

Click **Approve** to add the table to your app. Select **Reject** and refine your request if changes are needed.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Include the information you need to track and how it relates to other tables. Specific requests produce a stronger first structure.

Learn more in [AI assistant on the app screen](/builder-hub/ninox-ai/ninox-ai.md#ai-assistant-on-the-app-screen).
{% endhint %}
{% endtab %}

{% tab title="Create table manually" %}
Create a table manually when you want to define its structure yourself.

{% stepper %}
{% step %}

#### Open Create table

Click **Create table** at the bottom of the app navigation.
{% endstep %}

{% step %}

#### Enter the table details

Enter a clear **Name** for the table. Optionally, select an icon.

Ninox creates an **Internal name** automatically. This unique name identifies the table in the system and in your scripts. Change it only when needed.
{% endstep %}

{% step %}

#### Choose whether to use suggested fields

<figure><img src="/files/33kaFno3mOuMtiu88vTf" alt=""><figcaption></figcaption></figure>

Keep **Ninox AI suggestions** selected to add suggested fields based on the table name. Select or clear individual suggestions as needed.

To create a blank table, clear **Ninox AI suggestions**.
{% endstep %}

{% step %}

#### Create the table

Click **Create table**. Ninox adds the table to your app.

<figure><img src="/files/kBE82rZSDQb4EBJeG7ph" alt=""><figcaption></figcaption></figure>

Add or adjust fields afterwards from the table, form, or data model. See [Add and edit data fields in your tables](/builder-hub/design-your-app/add-and-edit-data-fields-in-your-tables.md).
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## Rename tables and table views

Rename tables and table views separately. Each action changes a different name.

Tables use three different names. Each one serves a separate purpose.

* **Label** is the table name shown in the app navigation. Change it to make the table easier to recognize.
* **Internal name** is the system identifier for the table. Scripts can use this name. When you change it, Ninox updates references used as function arguments. Update any string references in your scripts yourself.
* **View name** appears above the table grid. It identifies the active view and does not change the table label.

{% tabs %}
{% tab title="Rename a table" %}
Rename a table to update its label in the app navigation.

{% stepper %}
{% step %}

#### Open the table settings

Select the table in the app navigation.

In the settings panel, select the **Table** tab, then select the **Settings** tab.
{% endstep %}

{% step %}

#### Change the label

Under **General**, enter the new name in **Label**.

<figure><img src="/files/BGTEhjvBp7bskRZikpDr" alt=""><figcaption></figcaption></figure>

The table label updates in the app navigation.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
If you use functions such as `openTable("Vacations")` that reference the table name as text, update the table name in your scripts too. Ninox does not update these references automatically.
{% endhint %}
{% endtab %}

{% tab title="Rename a table view" %}
Rename a view to change the name shown above the table. This does not change the table label in app navigation.

{% stepper %}
{% step %}

#### Open the view menu

Click the current view name above the table.

<figure><img src="/files/jYkKMSje66eMQxs88SqY" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Select Rename view

Select **Rename view** from the menu.
{% endstep %}

{% step %}

#### Enter and save the new name

Enter the new name, then click **Rename view**.

The new name appears above the table. The table label and internal name remain unchanged.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

## Reorder tables in app navigation

Drag tables in the app navigation to arrange them in the order you need.

{% stepper %}
{% step %}

#### Select a table

In the app navigation, select the table you want to move.
{% endstep %}

{% step %}

#### Drag the table

Drag the table up or down to the new position.
{% endstep %}

{% step %}

#### Drop the table

Release the table when it reaches the position you want.
{% endstep %}
{% endstepper %}

## Delete tables and table views

Before you delete anything, distinguish between a table and a [table view](/builder-hub/visualize-and-organize-your-data/work-with-views/table-view.md). A table stores your fields and records. A table view controls how those records appear.

Deleting a table permanently removes it. Deleting a table view removes only that view. The table and its records remain available.

{% tabs %}
{% tab title="Delete a table" %}
Delete a table when you no longer need its structure or records.

{% hint style="warning" %}
Deleting a table permanently deletes it. Back up any data you need before you continue.
{% endhint %}

{% stepper %}
{% step %}

#### Open the table settings

Select the table in the app navigation.

In the settings panel, select the **Table** tab, then select the **Settings** tab.
{% endstep %}

{% step %}

#### Start the deletion

Open **Delete**, then click **Delete table**.

<figure><img src="/files/1SVM5LLYduTdk8cXATY4" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Confirm the deletion

Review the confirmation message. Click **Delete** to permanently delete the table.
{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="Delete a table view" %}
{% hint style="info" %}
Ninox creates the first table view with every table. You cannot delete this view.
{% endhint %}

{% stepper %}
{% step %}

#### Open the view menu

Select the view you want to remove. Click its name above the table.

<figure><img src="/files/mBh1tMraLjbEhLHaY0Ib" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Delete the view

Select **Delete view** from the menu.
{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ninox.com/builder-hub/design-your-app/create-and-manage-tables.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
