# Create Table

<figure><img src="https://1671598980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0muDd0LkZG6CmTQvGQ4D%2Fuploads%2FZXA1niME4DBoPGW7o2wt%2FCaptura%20de%20Tela%202025-05-28%20a%CC%80s%2014.24.50.png?alt=media&#x26;token=2d3c2742-ded5-45b5-a16d-57499776fd05" 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.
