---
title: Insert Into a Table
sidebarTitle: Insert Into a Table
---

## Description

The `INSERT INTO` statement inserts data into a table. The data comes from a subselect query. It is commonly used to input prediction results into a database table.

## Syntax

Here is the syntax:

```sql
INSERT INTO integration_name.table_name
    (SELECT ...);
```

Please note that the destination table (`integration_name.table_name`) must
exist and contain all the columns where the data is to be inserted.

And the steps followed by the syntax:

- It executes a subselect query to get the output dataset.
- It uses the `INSERT INTO` statement to insert the output of the
  `(SELECT ...)` query into the `integration_name.table_name` table.

On execution, we get:

```sql
Query OK, 0 row(s) updated - x.xxxs
```

### Example

We want to save the prediction results into the `int1.tbl1` table.

Here is the schema structure used throughout this example:

```bash
int1
└── tbl1
mindsdb
└── predictor_name
int2
└── tbl2
```

Where:

| Name             | Description                                                                           |
| ---------------- | ------------------------------------------------------------------------------------- |
| `int1`           | Integration where the table that stores prediction results resides.                   |
| `tbl1`           | Table that stores prediction results.                                                 |
| `predictor_name` | Name of the model.                                                                    |
| `int2`           | Integration where the data source table used in the inner `SELECT` statement resides. |
| `tbl2`           | Data source table used in the inner `SELECT` statement.                               |

Let's execute the query.

```sql
INSERT INTO int1.tbl1 (
    SELECT *
    FROM int2.tbl2 AS ta
    JOIN mindsdb.predictor_name AS tb
    WHERE ta.date > '2015-12-31'
);
```

On execution, we get:

```sql
Query OK, 0 row(s) updated - x.xxxs
```
