---
name: azion-importe-dados-com-o-edgesql-shell
description: >-
  Carregue um arquivo CSV, um script SQL ou uma tabela de outro banco de dados para uma tabela do SQL Database com os comandos de importação do EdgeSQL Shell.
---

# Importe dados com o EdgeSQL Shell

Você carrega dados para uma tabela do [SQL Database](/pt-br/documentacao/plataforma/sql-database/) com EdgeSQL Shell, a partir de um arquivo CSV ou XLSX, de um script SQL, de um banco de dados SQLite local ou de uma tabela guardada por MySQL, PostgreSQL, Kaggle ou Turso. As três fontes locais leem um caminho na sua máquina e não precisam de credenciais. As quatro fontes remotas leem as suas das variáveis de ambiente que você exporta antes de iniciar o shell.

Para a forma completa dos argumentos de cada comando abaixo, os modos de saída e a tabela completa de variáveis de credenciais, consulte [EdgeSQL Shell](/pt-br/documentacao/plataforma/sql-database/edgesql-shell/).

> **Atenção**
>
> EdgeSQL Shell não inicia em uma instalação limpa. Todo comando falha antes de o prompt `EdgeSQL>` aparecer, com `ImportError: cannot import name 'Configuration' from 'kaggle.api.kaggle_api_extended'`: `commands/import.py` importa o módulo do Kaggle incondicionalmente enquanto o shell inicia, e o `kaggle==1.8.3` fixado não define mais esse símbolo. Fixar uma versão anterior não resolve em uma máquina sem credenciais da Kaggle, porque o pacote autentica dentro do próprio `__init__.py` — `1.6.17` e `1.7.4` falham nesse ponto. Uma correção está pendente.
>
> Neutralizar essa única importação localmente mantém o resto da ferramenta funcionando. Isso é uma solução local, não uma etapa suportada. Para as interfaces que executam o mesmo SQL até a correção ser lançada, consulte [Solução de problemas](/pt-br/documentacao/plataforma/sql-database/solucao-de-problemas/).

---

## Pré-requisitos

- SQL Database habilitado na conta. O produto está em Preview e não vem habilitado por padrão, então solicite acesso por meio do [Technical Support](/pt-br/documentacao/suporte/).
- EdgeSQL Shell instalado, com o seu ambiente virtual ativo. Consulte [Instale o EdgeSQL Shell](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/install-edge-sql-shell/).
- Um banco de dados para onde importar. Crie um como em [Crie e gerencie bancos de dados](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/gerenciar-bancos-dados-edge-sql/), ou pelo próprio shell com `.create <database-name>`.
- Um [personal token](/pt-br/documentacao/guias/plataforma/conta-e-billing/personal-tokens/) exportado como `AZION_TOKEN`. O shell se autentica com ele.
- As credenciais da fonte de onde você lê, para as quatro fontes remotas. Cada seção abaixo indica as variáveis de que a sua fonte precisa.

---

## Importe um arquivo CSV ou XLSX

`.import file` lê um arquivo na sua máquina e escreve as linhas dele em uma tabela. Ele aceita um arquivo CSV ou XLSX e nenhum outro formato, e é a única fonte cuja forma dos argumentos nomeia um tipo de arquivo. Para importar um arquivo CSV:

1. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

   Todo comando que vem depois é executado nesse banco de dados.

2. **Importe o arquivo**

   ```bash
   .import file csv /path/to/cities.csv cities
   ```

   Os dois últimos argumentos são o caminho para o arquivo e o nome da tabela de destino. Passe `xlsx` em vez de `csv` para um arquivo do Excel. Um arquivo de três linhas é importado em cerca de cinco segundos.

   O shell escreve uma barra de progresso enquanto divide os dados em blocos, e termina em uma linha:

   ```text
   Data imported successfully into table 'cities'.
   ```

A tabela guarda as linhas do arquivo, e `.tables` a lista entre as tabelas do banco de dados.

---

## Execute um arquivo SQL

`.read` executa as instruções SQL que um arquivo guarda no banco de dados em uso. Use-o para um arquivo de instruções `INSERT`, ou para um arquivo que cria um esquema e o preenche em uma única passagem. Para executar o arquivo:

1. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

2. **Execute o arquivo**

   ```bash
   .read /path/to/schema.sql
   ```

   O shell responde com uma linha:

   ```text
   SQL statements from /path/to/schema.sql executed successfully.
   ```

As instruções foram executadas na ordem em que o arquivo as guarda, e as linhas que elas inserem podem ser lidas com um `SELECT` no prompt `EdgeSQL>`.

---

## Importe de um banco de dados SQLite

`.import sqlite` copia uma tabela de um arquivo de banco de dados SQLite na sua máquina. Os argumentos dele são o caminho para o arquivo, a tabela a ser lida e a tabela a ser escrita. Para importar a tabela:

1. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

2. **Importe a tabela**

   ```bash
   .import sqlite /path/to/local.db products products
   ```

   O shell responde com uma linha:

   ```text
   Data imported successfully into table 'products'.
   ```

A tabela de destino guarda as linhas da tabela de origem, com os tipos das colunas dela preservados.

---

## Importe do MySQL

`.import mysql` lê uma tabela de um servidor MySQL. Ele precisa de `MYSQL_USERNAME`, `MYSQL_PASSWORD` e `MYSQL_HOST`. `MYSQL_PORT` é opcional, e as variáveis `MYSQL_SSL_*` configuram uma conexão TLS. Para cada variável e os valores que ela aceita, consulte [Variáveis de ambiente](/pt-br/documentacao/plataforma/sql-database/edgesql-shell/#variaveis-de-ambiente).

A Azion não executou esta importação. A forma do comando vem do próprio texto de ajuda do shell, então nenhuma saída é mostrada para ela. Para importar a tabela:

1. **Exporte as credenciais do MySQL**

   No terminal, antes de iniciar o shell:

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

2. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

3. **Importe a tabela**

   ```bash
   .import mysql <database> <source_table> <table_name>
   ```

   `<database>` é o banco de dados no servidor MySQL, `<source_table>` a tabela a ser lida e `<table_name>` a tabela a ser escrita no SQL Database.

A tabela de destino guarda as linhas lidas da tabela do MySQL.

---

## Importe do PostgreSQL

`.import postgres` lê uma tabela de um servidor PostgreSQL. Ele precisa de `POSTGRES_USERNAME`, `POSTGRES_PASSWORD` e `POSTGRES_HOST`. `POSTGRES_PORT` é opcional, e as variáveis `POSTGRES_SSL_*` configuram uma conexão TLS. Para cada variável e os valores que ela aceita, consulte [Variáveis de ambiente](/pt-br/documentacao/plataforma/sql-database/edgesql-shell/#variaveis-de-ambiente).

A Azion não executou esta importação. A forma do comando vem do próprio texto de ajuda do shell, então nenhuma saída é mostrada para ela. Para importar a tabela:

1. **Exporte as credenciais do PostgreSQL**

   No terminal, antes de iniciar o shell:

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

2. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

3. **Importe a tabela**

   ```bash
   .import postgres <database> <source_table> <table_name>
   ```

   `<database>` é o banco de dados no servidor PostgreSQL, `<source_table>` a tabela a ser lida e `<table_name>` a tabela a ser escrita no SQL Database.

A tabela de destino guarda as linhas lidas da tabela do PostgreSQL.

---

## Importe do Kaggle

`.import kaggle` lê um arquivo de um dataset do Kaggle. Ele precisa de `KAGGLE_USERNAME` e `KAGGLE_KEY`, e é a única fonte cujos argumentos nomeiam um dataset e um arquivo dentro dele em vez de um banco de dados e uma tabela.

A Azion não executou esta importação. A forma do comando vem do próprio texto de ajuda do shell, então nenhuma saída é mostrada para ela. Kaggle também é a fonte que impede o shell de iniciar: o módulo por trás deste comando importa o pacote do Kaggle na inicialização, que é a falha descrita no aviso acima. Para importar o arquivo:

1. **Exporte as credenciais do Kaggle**

   No terminal, antes de iniciar o shell:

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

2. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

3. **Importe o arquivo**

   ```bash
   .import kaggle joonasyoon/google-doodles list.csv list
   ```

   Os argumentos são o dataset, o arquivo dentro dele e a tabela de destino. Este exemplo é o que o texto de ajuda do shell imprime.

A tabela de destino guarda as linhas do arquivo lido do dataset.

---

## Importe do Turso

`.import turso` lê uma tabela de um banco de dados Turso. Ele precisa de `TURSO_DATABASE_URL` e `TURSO_AUTH_TOKEN`, e `TURSO_ENCRYPTION_KEY` é opcional.

A Azion não executou esta importação. A forma do comando vem do próprio texto de ajuda do shell, então nenhuma saída é mostrada para ela. Para importar a tabela:

1. **Exporte as credenciais do Turso**

   No terminal, antes de iniciar o shell:

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

2. **Selecione o banco de dados**

   ```bash
   .use <database-name>
   ```

3. **Importe a tabela**

   ```bash
   .import turso <database> <source_table> <table_name>
   ```

   `<database>` é o banco de dados no servidor Turso, `<source_table>` a tabela a ser lida e `<table_name>` a tabela a ser escrita no SQL Database.

A tabela de destino guarda as linhas lidas da tabela do Turso.

---

## Próximos passos

- [EdgeSQL Shell](/pt-br/documentacao/plataforma/sql-database/edgesql-shell.md): Todos os comandos que o shell aceita, a forma dos argumentos de cada fonte de importação, os modos de saída e as variáveis de credenciais.
- [Crie tabelas e consulte dados](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/criar-tabelas-edge-sql.md): Leia de volta as linhas importadas e escreva o SQL que as cria, atualiza e apaga.
- [Instale o EdgeSQL Shell](/pt-br/documentacao/guias/desenvolvimento-de-aplicacoes/dados/install-edge-sql-shell.md): O clone, o ambiente virtual e o token que colocam o shell na sua máquina.
- [Solução de problemas](/pt-br/documentacao/plataforma/sql-database/solucao-de-problemas.md): Os sintomas que SQL Database e o seu shell retornam, e o que cada um significa.
