Comuni italiani in SQL
Tutti i 7.894 comuni nella tabella data_comuni dei dump SQL: full.sql crea tabelle, chiavi e indici per MySQL 8 e carica i dati con un solo comando; la stessa struttura c'è anche in SQL standard ANSI. Contiene codici ISTAT e catastali, provincia, regione e contatti.
Ultimo aggiornamento:
Estratto reale
Com'è fatto il file, con dati veri
CREATE TABLE `data_comuni` (
`istat` mediumint unsigned NOT NULL,
`zona_istat` tinyint unsigned,
`regione_istat` smallint unsigned NOT NULL,
`provincia_istat` smallint unsigned NOT NULL,
`istat_testo` varchar(10),
`nome` varchar(191) NOT NULL,
`email` varchar(100),
`pec` varchar(100),
`telefono` varchar(100),
`prefisso` varchar(10),
`fax` varchar(100),
`wikipedia` varchar(191),
`sito_web` varchar(191),
`belfiore` varchar(10),
`santo_patrono` varchar(191),
`festa_patronale` varchar(191),
`regione_capoluogo` tinyint(1) NOT NULL,
`provincia_capoluogo` tinyint(1) NOT NULL,
`istat_1995_2005` varchar(10),
`istat_2006_2009` varchar(10),
`istat_2010_2016` varchar(10),
`istat_2017_2025` varchar(10),
`nome_abitanti` varchar(191)
);
INSERT INTO `data_comuni` (`istat_testo`, `nome`, `provincia_istat`, `belfiore`) VALUES
('049001', 'Bibbona', 49, 'A852'),
('049002', 'Campiglia Marittima', 49, 'B509'),
('049003', 'Campo nell''Elba', 49, 'B553'),
('049004', 'Capoliveri', 49, 'B669'),
('049005', 'Capraia Isola', 49, 'B685');
Righe reali della provincia di Livorno, la stessa della demo gratuita, alcune colonne. Il pacchetto contiene l'elenco completo.
Struttura
Dove lo trovi nel pacchetto
database/mysql/full.sql- Schema e dati per MySQL 8, in un solo file.
database/mysql/schema.sql- Solo la struttura: tabelle, chiavi e indici.
database/mysql/data.sql- Solo i dati, per aggiornare un database già creato.
database/ansi/- Gli stessi tre file in SQL standard ANSI.
Le colonne di data_comuni
-
istat«Codice ISTAT» - Codice ISTAT numerico. Identificativo univoco dell'ente territoriale.
-
zona_istat«Zona ISTAT» - Codice della macro-zona geografica ISTAT. Chiave esterna verso data_zone.istat.
-
regione_istat«Codice ISTAT regione» - Codice ISTAT della regione. Chiave esterna verso data_regioni.istat.
-
provincia_istat«Codice ISTAT provincia» - Codice ISTAT della provincia. Chiave esterna verso data_province.istat.
-
istat_testo«Codice ISTAT (testo)» - Codice ISTAT in formato testo con zeri iniziali (es. "001001").
-
nome«Nome» - Denominazione ufficiale dell'ente.
-
email«Email» - Indirizzo email istituzionale del comune.
-
pec«PEC» - Indirizzo di Posta Elettronica Certificata del comune.
-
telefono«Telefono» - Numero di telefono del comune.
-
prefisso«Prefisso telefonico» -
fax«Fax» - Numero di fax del comune.
-
wikipedia«Wikipedia» - URL della voce Wikipedia dell'ente.
-
sito_web«Sito web istituzionale» -
belfiore«Codice Belfiore» - Codice Belfiore (catastale) del comune, usato dall'Agenzia delle Entrate.
-
santo_patrono«Santo patrono» -
festa_patronale«Festa patronale» -
regione_capoluogo«Capoluogo regione» - Indica se il comune/provincia ospita il capoluogo regionale.
-
provincia_capoluogo«Capoluogo provincia» - Indica se il comune è capoluogo di provincia.
-
istat_1995_2005«Codice ISTAT 1995-2005» - Codice ISTAT valido nel periodo 1995–2005.
-
istat_2006_2009«Codice ISTAT 2006-2009» - Codice ISTAT valido nel periodo 2006–2009.
-
istat_2010_2016«Codice ISTAT 2010-2016» - Codice ISTAT valido nel periodo 2010–2016.
-
istat_2017_2025«Codice ISTAT 2017-2025» - Codice ISTAT valido nel periodo 2017–2025.
-
nome_abitanti«Nome degli abitanti» - Nome degli abitanti del comune (es. livornesi).
Tra virgolette l'intestazione che la colonna ha nei file Excel e CSV.
Come usarlo
Dal file ai tuoi dati in pochi passi
Importazione in MySQL
mysql -u utente -p nome_database < database/mysql/full.sql
Una prima query
SELECT istat_testo, nome, provincia_istat, belfiore
FROM data_comuni
LIMIT 10;
Domande frequenti
Con quali database funziona?
La cartella mysql è pronta per MySQL 8; la cartella ansi contiene la stessa struttura in SQL standard, da adattare ad altri motori.
Posso caricare solo i dati in un database già creato?
Sì: schema.sql crea solo la struttura, data.sql contiene solo i dati. full.sql fa entrambe le cose in un solo passaggio.
È incluso nella demo gratuita?
No: la demo contiene Excel, CSV e JSON. In tutti i piani: Standard, Pro e Full.
Provalo prima di acquistarlo
La demo gratuita contiene i dati completi di una provincia nei formati Excel, CSV e JSON: verifichi colonne, chiavi e qualità sul tuo caso reale, poi decidi.
Altri dati in SQL
Cosa contengono questi dati, al di là del formato: Quanti comuni ci sono in Italia →