---
title: "Convertir Excel a SQL"
description: "Convierte archivos Excel a SQL para PostgreSQL, MySQL, MariaDB, SQLite, SQL Server u Oracle en tu navegador. Gratis, y tu archivo nunca se sube."
canonical: https://intosql.com/es/excel-a-sql
last_updated: 2026-10-15
---

# Convertir Excel a SQL

Suelta tu archivo Excel y elige tu base de datos para obtener un script SQL con sentencias CREATE TABLE e INSERT. Cada columna recibe un tipo, y cada corrección se detalla con su fila y columna.

## Un archivo Excel, seis bases de datos

El ejemplo de arriba, clientes_2024.xlsx, y el tipo que recibe cada una de sus columnas en cada base de datos.

| En el archivo | Primer 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)` |

## Carga el script en tu base de datos

La descarga es un archivo .sql simple. Cada base de datos lo ejecuta con sus propias herramientas.

### PostgreSQL

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

ON_ERROR_STOP hace que psql se detenga en el primer error. El script corre en una sola transacción, así que una carga fallida deja la base de datos como estaba. En pgAdmin o DBeaver, abre el script en una ventana de consulta y ejecútalo.

Sin script:

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

### MySQL

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

El script define utf8mb4 por sí mismo; el flag hace que el cliente lo envíe igual, así que los acentos llegan intactos. En MySQL Workbench, elige File, Run SQL Script y selecciona el archivo.

Sin script:

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

### MariaDB

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

El script define utf8mb4 por sí mismo; el flag hace que el cliente lo envíe igual, así que los acentos llegan intactos. En HeidiSQL o DBeaver, abre el script y ejecútalo.

Sin script:

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

### SQLite

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

El archivo de la base de datos se crea si no existe. El convertidor también descarga una base de datos .sqlite lista, sin ningún comando. En DB Browser for SQLite, elige Execute SQL, abre el script y ejecútalo.

Sin 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 lee el archivo como UTF-8, así que los acentos y la ñ llegan tal como están escritos. En SQL Server Management Studio o Azure Data Studio, abre el archivo y elige Execute.

### Oracle

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

El script desactiva las variables de sustitución (SET DEFINE OFF), así que un ampersand en tus datos sigue siendo un ampersand. En SQL Developer, abre el script y elige Run Script (F5).

## Qué lee IntoSQL en los archivos Excel

- La fila de encabezado se encuentra aunque haya títulos o notas encima, y una fila de totales al final se deja fuera.
- Las fechas guardadas como números de serie de Excel se vuelven fechas reales, tanto en el sistema de fechas 1900 como en el 1904.
- Los códigos con ceros a la izquierda, como 00127, se quedan como texto. Si un libro tiene varias hojas, tú eliges la hoja.

## Qué saber sobre cada base de datos

- Elige la base de datos una vez abierto el archivo: cada una recibe los tipos que admite.

### Cómo se guarda cada tipo de valor en cada base de datos

| Valor | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Sí y no | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Números enteros | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Números enteros grandes | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Decimales | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Números de punto flotante | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Fechas | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Horas del día | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Fechas con hora | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Fechas con hora y zona horaria | `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` |

## Preguntas sobre Excel a SQL

### ¿Cómo convierto Excel a SQL?

Suelta tu archivo en el convertidor al inicio de esta página y elige tu base de datos: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server u Oracle. Cada una recibe los tipos que admite. Descarga el script y ejecútalo en tu base de datos.

### ¿Qué hoja del libro se convierte?

La primera hoja visible. Cuando un libro tiene más de una, aparece la opción Hoja para que elijas otra.

### ¿Qué tipos usa en cada base de datos?

Cada base de datos recibe los suyos: los valores sí y no son boolean en PostgreSQL, tinyint(1) en MySQL y MariaDB, bit en SQL Server y NUMBER(1) en Oracle. La tabla de esta página muestra cada tipo de valor.

### ¿Conserva los ceros a la izquierda?

Sí. Un código como 00127 se queda como texto en todas las bases de datos, escrito como '00127', así que no se pierde ningún cero.

### ¿Puede cargar los datos sin un script?

Sí. La línea de comandos carga en SQLite gratis, y con IntoSQL Pro la app de escritorio y la línea de comandos cargan en PostgreSQL, MySQL y MariaDB. Para SQL Server y Oracle, ejecuta el script.

### ¿Qué tan grande puede ser el archivo de Excel?

En el navegador, el libro se lee completo, así que el límite es la memoria que el navegador le da a esta página. La app de escritorio y la línea de comandos aceptan libros de cualquier tamaño; en una laptop con Apple M4, la línea de comandos convierte un libro de 117 MB con un millón de filas en cerca de un segundo.

## Excel a otras bases de datos

- [Convertir Excel a PostgreSQL](https://intosql.com/es/excel-a-postgresql)
- [Convertir Excel a MySQL](https://intosql.com/es/excel-a-mysql)
- [Convertir Excel a MariaDB](https://intosql.com/es/excel-a-mariadb)
- [Convertir Excel a SQLite](https://intosql.com/es/excel-a-sqlite)
- [Convertir Excel a SQL Server](https://intosql.com/es/excel-a-sql-server)
- [Convertir Excel a Oracle](https://intosql.com/es/excel-a-oracle)

## Otros archivos a SQL

- [Convertir CSV a SQL](https://intosql.com/es/csv-a-sql)
- [Convertir JSON a SQL](https://intosql.com/es/json-a-sql)
