---
title: "Convertire Excel in SQL"
description: "Converti file Excel in SQL per PostgreSQL, MySQL, MariaDB, SQLite, SQL Server o Oracle nel tuo browser. Gratis, e il tuo file non viene mai caricato."
canonical: https://intosql.com/it/excel-in-sql
last_updated: 2026-10-15
---

# Convertire Excel in SQL

Trascina il tuo file Excel e scegli il tuo database per ottenere uno script SQL con istruzioni CREATE TABLE e INSERT. Ogni colonna riceve un tipo e ogni correzione è elencata con la sua riga e colonna.

## Un file Excel, sei database

L'esempio qui sopra, clientes_2024.xlsx, e il tipo che riceve ciascuna colonna in ogni database.

| Nel file | Primo valore | 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)` |

## Carica lo script nel tuo database

Il download è un semplice file .sql. Ogni database lo esegue con i propri strumenti.

### PostgreSQL

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

ON_ERROR_STOP ferma psql al primo errore. Lo script gira in un'unica transazione, quindi un caricamento fallito lascia il database com'era. In pgAdmin o DBeaver, apri lo script in una finestra di query ed eseguilo.

Senza script:

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

### MySQL

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

Lo script imposta già utf8mb4; il flag fa sì che il client lo invii allo stesso modo, così gli accenti arrivano intatti. In MySQL Workbench, scegli File, Run SQL Script e seleziona il file.

Senza script:

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

### MariaDB

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

Lo script imposta già utf8mb4; il flag fa sì che il client lo invii allo stesso modo, così gli accenti arrivano intatti. In HeidiSQL o DBeaver, apri lo script ed eseguilo.

Senza script:

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

### SQLite

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

Il file del database viene creato se non esiste. Il convertitore scarica anche un database .sqlite pronto, senza alcun comando. In DB Browser for SQLite, scegli Execute SQL, apri lo script ed eseguilo.

Senza 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 legge il file come UTF-8, così accenti e ñ arrivano come sono scritti. In SQL Server Management Studio o Azure Data Studio, apri il file e scegli Execute.

### Oracle

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

Lo script disattiva le variabili di sostituzione (SET DEFINE OFF), così una e commerciale nei tuoi dati resta tale. In SQL Developer, apri lo script e scegli Run Script (F5).

## Cosa legge IntoSQL nei file Excel

- La riga di intestazione viene trovata anche se sopra ci sono titoli o note, e una riga dei totali alla fine viene esclusa.
- Le date salvate come numeri seriali di Excel diventano date vere, sia nel sistema di date 1900 sia nel 1904.
- I codici con zeri iniziali, come 00127, restano testo. Se una cartella di lavoro ha più fogli, scegli tu il foglio.

## Cosa sapere su ogni database

- Scegli il database dopo aver aperto il file: ognuno riceve i tipi che supporta.

### Come viene salvato ogni tipo di valore in ogni database

| Valore | PostgreSQL | MySQL | MariaDB | SQLite | SQL Server | Oracle |
| --- | --- | --- | --- | --- | --- | --- |
| Sì e no | `boolean` | `tinyint(1)` | `tinyint(1)` | `BOOLEAN` | `bit` | `NUMBER(1)` |
| Numeri interi | `integer` | `int` | `int` | `INTEGER` | `int` | `NUMBER(10)` |
| Numeri interi grandi | `bigint` | `bigint` | `bigint` | `INTEGER` | `bigint` | `NUMBER(19)` |
| Decimali | `numeric(p,s)` | `decimal(p,s) · double` | `decimal(p,s) · double` | `NUMERIC(p,s) · TEXT` | `decimal(p,s)` | `NUMBER(p,s)` |
| Numeri in virgola mobile | `double precision` | `double` | `double` | `REAL` | `float` | `BINARY_DOUBLE` |
| Date | `date` | `date` | `date` | `DATE` | `date` | `DATE` |
| Orari | `time` | `time(6) · time` | `time(6) · time` | `TIME` | `time` | `INTERVAL DAY(0) TO SECOND` |
| Date con ora | `timestamp` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetime2` | `TIMESTAMP` |
| Date con ora e fuso | `timestamptz` | `datetime(6) · datetime` | `datetime(6) · datetime` | `DATETIME` | `datetimeoffset` | `TIMESTAMP WITH TIME ZONE` |
| Testo | `text` | `varchar(n) · text · mediumtext · longtext` | `varchar(n) · text · mediumtext · longtext` | `TEXT` | `nvarchar(n) · nvarchar(max)` | `VARCHAR2(n CHAR) · CLOB` |

## Domande su Excel in SQL

### Come converto Excel in SQL?

Trascina il file sul convertitore in cima a questa pagina e scegli il tuo database: PostgreSQL, MySQL, MariaDB, SQLite, SQL Server o Oracle. Ognuno riceve i tipi che supporta. Scarica lo script ed eseguilo nel tuo database.

### Quale foglio della cartella di lavoro viene convertito?

Il primo foglio visibile. Se la cartella di lavoro ne ha più di uno, compare l'opzione Foglio per sceglierne un altro.

### Quali tipi usa in ogni database?

Ogni database ha i suoi: i valori sì e no sono boolean in PostgreSQL, tinyint(1) in MySQL e MariaDB, bit in SQL Server e NUMBER(1) in Oracle. La tabella in questa pagina elenca ogni tipo di valore.

### Mantiene gli zeri iniziali?

Sì. Un codice come 00127 resta testo in ogni database, scritto come '00127', quindi nessuno zero va perso.

### Può caricare i dati senza uno script?

Sì. La riga di comando carica gratis in SQLite e, con IntoSQL Pro, l'app desktop e la riga di comando caricano in PostgreSQL, MySQL e MariaDB. Per SQL Server e Oracle, esegui lo script.

### Quanto può essere grande il file Excel?

Nel browser la cartella di lavoro viene letta per intero, quindi il limite è la memoria che il browser concede a questa pagina. L'app desktop e la riga di comando accettano cartelle di lavoro di qualsiasi dimensione; su un portatile Apple M4 la riga di comando converte una cartella di lavoro di 117 MB con un milione di righe in circa un secondo.

## Excel in altri database

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

## Altri file in SQL

- [Convertire CSV in SQL](https://intosql.com/it/csv-in-sql)
- [Convertire JSON in SQL](https://intosql.com/it/json-in-sql)
