> For the complete documentation index, see [llms.txt](https://docs.gaiodataos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gaiodataos.com/tools/tasks/etl/create-table.md).

# Create Table

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

The **Create Table** task in Gaio DataOS allows you to define and generate a new table structure directly within your data project. This is essential for creating intermediate or final storage layers in your data pipelines.

***

## &#x20;How to Use

Follow the steps below to create a new table manually:

***

### 1. **Open the Create Table Task**

* Go to the **Studio**, and in the left panel under **Tasks > ETL**, click on **Create Table**.

***

### 2. **Define the Task and Table Name**

* **Task label**: (optional) Provide a name for this creation step for easy identification in your flow.
* **Result table**: Type the name of the table you want to create.

***

### 3. **Add Columns**

Use the grid interface to define each column's structure:

| Field       | Description                                                                                       |
| ----------- | ------------------------------------------------------------------------------------------------- |
| **Column**  | Enter the name of the column (e.g., `col_1`, `date_one`, `value`).                                |
| **Type**    | Select the data type (e.g., `String`, `Int64`, `Date`, `DateTime`, `Float64`, `Array`).           |
| **Default** | (Optional) Set a default value (e.g., `today()`, `now()`, or a static value like `0` or `"N/A"`). |

To add a column, use the `+` button. To remove a column, click the trash icon 🗑️.

***

### 4. **Optional: Drop Existing Table**

* Enable the **Drop table** checkbox if you want to overwrite a table with the same name&#x20;

{% hint style="warning" %}
This deletes the existing data).
{% endhint %}

***

### 5. **Execute or Save**

* **Execute**: Creates the table immediately.
* **Save**: Stores the task for later execution in the flow.
* **Save and Execute**: Runs the operation and keeps it registered in the pipeline.

***

#### &#x20;Best Practices

* Always double-check the **Drop table** option — use it only when you’re sure the previous data can be deleted.
* Use **default values** for timestamps or standard values where needed.
* Combine this task with **Insert Table**, **Transformations**, and **Automations** for end-to-end data pipelines.
