# Como importar dados para o SQL Database

import Tabs from '~/components/tabs/Tabs';
import DocButton from '~/components/webkit/DocButton.vue';

Este guia explica como importar dados para o seu banco de dados usando o SQL Database Shell.

## Requisitos

- **SQL Database Shell instalado**: Certifique-se de que o SQL Database Shell está devidamente [instalado em seu sistema](/pt-br/documentacao/produtos/store/sql/install-edge-sql-shell/).

- **Banco de dados**: Você precisa ter um banco de dados criado. Para criar um novo banco de dados no SQL Database usando o Shell, use o comando:
```sh
  .create <database-name>
```

## Importando dados com SQL Database Shell

<Tabs client:visible sharedStore="Databases">
<fragment slot="tab.file">CSV ou XLSX</fragment>
<fragment slot="tab.kaggle">Kaggle</fragment>
<fragment slot="tab.mysql">MySQL</fragment>
<fragment slot="tab.sqlite">SQLite</fragment>
<fragment slot="tab.postgres">Postgres</fragment>
<fragment slot="tab.turso">Turso</fragment>

<fragment slot="panel.file">
<slot name="file" />

1. Selecione um banco de dados.

```shell
.use database-name
```

2. Importe seu arquivo.

```shell
.import file <csv|xlsx> <file_path> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```
</fragment>

<fragment slot="panel.kaggle">
<slot name="Kaggle" />

Use os seguintes comandos para definir variáveis de ambiente com suas credenciais do Kaggle:

```sh
  export KAGGLE_USERNAME="<username>"
  export KAGGLE_KEY="<kaggle_api_key>"
```

1. Selecione um banco de dados.

```shell
.use database-name
```

1. Importe seu banco de dados kaggle.

```shell
.import kaggle <dataset> <data_name> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```
</fragment>

<fragment slot="panel.mysql">
<slot name="MySQL" />

Use os seguintes comandos para definir variáveis de ambiente com suas credenciais do MySQL:

```sh
  export MYSQL_USERNAME="<username>"
  export MYSQL_PASSWORD="<password>"
  export MYSQL_HOST="<host_address>"
```

Configurações opcionais para MySQL:

```sh
  export MYSQL_PORT=<port>
  
  # For TLS connection
  export MYSQL_SSL_CA="<ssl_ca>"
  export MYSQL_SSL_CERT="<ssl_cert>"
  export MYSQL_SSL_KEY="<ssl_key>"
  export MYSQL_SSL_VERIFY_CERT=<True|False>
```

1. Selecione um banco de dados.

```shell
.use database-name
```

2. Importe seu banco de dados MySQL.

```shell
.import mysql <database> <source_table> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```
</fragment>

<fragment slot="panel.postgres">
<slot name="Postgres" />

Use os seguintes comandos para definir variáveis de ambiente com suas credenciais do PostgreSQL:

```sh
  export POSTGRES_USERNAME="<username>"
  export POSTGRES_PASSWORD="<password>"
  export POSTGRES_HOST="<host_address>"
```

Configurações opcionais para PostgreSQL:

```sh
  export POSTGRES_PORT=<port>
  
  # For TLS connection
  export POSTGRES_SSL_CA="<ssl_ca>"
  export POSTGRES_SSL_CERT="<ssl_cert>"
  export POSTGRES_SSL_KEY="<ssl_key>"
  export POSTGRES_SSL_VERIFY_CERT=<True|False>
```

1. Selecione um banco de dados.

```shell
.use database-name
```

2. Importe seu banco de dados Postgres.

```shell
.import postgres <database> <source_table> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```
</fragment>
<fragment slot="panel.sqlite">
<slot name="SQLite" />

1. Selecione um banco de dados.

```shell
.use database-name
```

1. Importe seu banco de dados SQLite.

```shell
.import sqlite <database> <source_table> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```

</fragment>
<fragment slot="panel.turso">
<slot name="Turso" />

Use os seguintes comandos para definir variáveis de ambiente com suas credenciais do Turso:

```sh
 export TURSO_DATABASE_URL=<https://<db_name>-<organization>.turso.io
 export TURSO_AUTH_TOKEN=<token>
```

 Configurações opcionais para Turso:
```sh
  export TURSO_ENCRYPTION_KEY=<encryption_key>
```

1. Selecione um banco de dados.

```shell
.use database-name
```

2. Importe seu banco de dados Turso.

```shell
.import turso <database> <source_table> <table_name>
```
Para verificar a criação de sua tabela você pode usar:

```shell
.tables
```
</fragment>
</Tabs>

## Importando dados a partir de um arquivo SQL

Para importar dados de um arquivo `.sql` contendo comandos SQL `INSERT`, use o comando `.read` no SQL Database Shell. Isso executará as instruções SQL contidas no arquivo e preencherá seu banco de dados com os dados especificados.

```shell
.read <file_name>
```