---
title: "Converter Excel para SQL"
description: "Converta arquivos Excel para SQL do PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle no seu navegador. Grátis, e seu arquivo nunca é enviado."
canonical: https://intosql.com/pt-br/excel-para-sql
last_updated: 2026-10-15
---

# Converter Excel para SQL

Solte seu arquivo Excel e escolha seu banco de dados para receber um script SQL com comandos CREATE TABLE e INSERT. Cada coluna recebe um tipo, e cada correção é listada com sua linha e coluna.

## Um arquivo Excel, seis bancos de dados

O exemplo acima, clientes_2024.xlsx, e o tipo que cada uma das colunas recebe em cada banco de dados.

| No arquivo | Primeiro valor | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Nº Cliente | `00127` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| Nombre | `Peña Muñoz` | `text` | `varchar(16)` | `varchar(16)` | `TEXT` | `nvarchar(16)` | `VARCHAR2(16 CHAR)` |
| C.P. | `01234` | `text` | `varchar(8)` | `varchar(8)` | `TEXT` | `nvarchar(8)` | `VARCHAR2(8 CHAR)` |
| Alta | `03/02/2024` | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Activo | `sí` | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Saldo | `1.234,50` | `numeric(6,2)` | `decimal(6,2)` | `decimal(6,2)` | `NUMERIC(6,2)` | `decimal(6,2)` | `NUMBER(6,2)` |

## Carregue o script no seu banco de dados

O download é um arquivo .sql simples. Cada banco de dados o executa com suas próprias ferramentas.

### PostgreSQL

```shell
psql -v ON_ERROR_STOP=1 -d mydb -f clientes_2024.postgresql.sql
```

ON_ERROR_STOP faz o psql parar no primeiro erro. O script roda em uma única transação, então uma carga que falha deixa o banco de dados como estava. No pgAdmin ou no DBeaver, abra o script em uma janela de consulta e execute-o.

Sem script:

```shell
intosql load clientes_2024.xlsx --into postgres://user@localhost/mydb
```

### MySQL

```shell
mysql --default-character-set=utf8mb4 mydb < clientes_2024.mysql.sql
```

O próprio script define utf8mb4; a flag faz o cliente enviá-lo do mesmo jeito, então os acentos chegam intactos. No MySQL Workbench, escolha File, Run SQL Script e selecione o arquivo.

Sem script:

```shell
intosql load clientes_2024.xlsx --into mysql://user@localhost/mydb
```

### MariaDB

```shell
mariadb --default-character-set=utf8mb4 mydb < clientes_2024.mariadb.sql
```

O próprio script define utf8mb4; a flag faz o cliente enviá-lo do mesmo jeito, então os acentos chegam intactos. No HeidiSQL ou no DBeaver, abra o script e execute-o.

Sem script:

```shell
intosql load clientes_2024.xlsx --into mariadb://user@localhost/mydb
```

### SQLite

```shell
sqlite3 clientes_2024.db < clientes_2024.sqlite.sql
```

O arquivo do banco de dados é criado se não existir. O conversor também baixa um banco .sqlite pronto, sem nenhum comando. No DB Browser for SQLite, escolha Execute SQL, abra o script e execute-o.

Sem script:

```shell
intosql load clientes_2024.xlsx --into clientes_2024.db
```

### SQL Server

```shell
sqlcmd -S localhost -d mydb -f 65001 -i clientes_2024.sql_server.sql
```

-f 65001 lê o arquivo como UTF-8, então os acentos e o ñ chegam como foram escritos. No SQL Server Management Studio ou no Azure Data Studio, abra o arquivo e escolha Execute.

### Oracle

```shell
sqlplus user@//localhost/mydb @clientes_2024.oracle.sql
```

O script desativa as variáveis de substituição (SET DEFINE OFF), então um e comercial nos seus dados continua sendo um e comercial. No SQL Developer, abra o script e escolha Run Script (F5).

## O que o IntoSQL lê em arquivos Excel

- A linha do cabeçalho é encontrada mesmo com títulos ou notas acima dela, e uma linha de totais no final fica de fora.
- Datas guardadas como números de série do Excel viram datas de verdade, tanto no sistema de datas 1900 quanto no 1904.
- Códigos com zeros à esquerda, como 00127, continuam como texto. Quando uma pasta de trabalho tem várias planilhas, você escolhe a planilha.

## O que saber sobre cada banco de dados

- Escolha o banco de dados depois de abrir o arquivo: cada um recebe os tipos que suporta.

### Como cada tipo de valor é armazenado em cada banco de dados

| Valor | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Sim e não | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Números inteiros | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Números inteiros grandes | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Decimais | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Números de ponto flutuante | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Datas | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Horários | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Datas com hora | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Datas com hora e fuso | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Texto | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Perguntas sobre Excel para SQL

### Como converto Excel para SQL?

Solte seu arquivo no conversor no topo desta página e escolha seu banco de dados: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server ou Oracle. Cada um recebe os tipos que suporta. Baixe o script e execute-o no seu banco de dados.

### Qual planilha da pasta de trabalho é convertida?

A primeira planilha visível. Quando a pasta de trabalho tem mais de uma, aparece a opção Planilha para você escolher outra.

### Quais tipos ele usa em cada banco de dados?

Cada banco recebe os seus: valores sim e não são boolean no PostgreSQL, tinyint(1) no MySQL e no MariaDB, bit no SQL Server e NUMBER(1) no Oracle. A tabela desta página lista cada tipo de valor.

### Ele mantém os zeros à esquerda?

Sim. Um código como 00127 continua como texto em todos os bancos, escrito como '00127', então nenhum zero se perde.

### Ele carrega os dados sem um script?

Sim. A linha de comando carrega no SQLite de graça, e com o IntoSQL Pro o app para desktop e a linha de comando carregam no PostgreSQL, MySQL e MariaDB. Para SQL Server e Oracle, execute o script.

### Qual o tamanho máximo do arquivo Excel?

No navegador, a pasta de trabalho é lida inteira, então o limite é a memória que o navegador dá a esta página. O app para desktop e a linha de comando aceitam pastas de trabalho de qualquer tamanho; em um notebook com Apple M4, a linha de comando converte uma pasta de trabalho de 117 MB com um milhão de linhas em cerca de um segundo.

## Excel para outros bancos de dados

- [Converter Excel para PostgreSQL](https://intosql.com/pt-br/excel-para-postgresql)
- [Converter Excel para MySQL](https://intosql.com/pt-br/excel-para-mysql)
- [Converter Excel para MariaDB](https://intosql.com/pt-br/excel-para-mariadb)
- [Converter Excel para SQLite](https://intosql.com/pt-br/excel-para-sqlite)
- [Converter Excel para SQL Server](https://intosql.com/pt-br/excel-para-sql-server)
- [Converter Excel para Oracle](https://intosql.com/pt-br/excel-para-oracle)

## Outros arquivos para SQL

- [Converter CSV para SQL](https://intosql.com/pt-br/csv-para-sql)
- [Converter JSON para SQL](https://intosql.com/pt-br/json-para-sql)
