logo
GeekFormat

Convertitore SQL

Il convertitore SQL online di GeekFormat trasforma con un clic le istruzioni SQL INSERT e gli script CREATE TABLE in JSON, CSV, TSV, XML, YAML, tabelle HTML, tabelle Markdown, JSON Lines e molti altri formati. Supporta multiple istruzioni INSERT e l'analisi batch delle tuple multivalore, riconosce automaticamente numeri, stringhe, NULL, booleani e letterali esadecimali, ed è compatibile con gli stili di virgolette degli identificatori di MySQL, PostgreSQL, SQLite e SQL Server. I dati di più tabelle possono essere esportati separatamente o uniti. È anche possibile ricostruire istruzioni INSERT e cambiare dialetto. L'elaborazione avviene interamente in locale nel browser, nessun dato esce dal dispositivo.

Raccomandazioni correlate

Sulla conversione SQL: trasformare script SQL in JSON/CSV/XML e altri formati

La conversione SQL (SQL Conversion) consiste nell'estrarre dati da uno script SQL e riorganizzarli in altri formati di dati come JSON, CSV, XML, YAML, HTML o Markdown. SQL (Structured Query Language, linguaggio di query strutturato) è il linguaggio di query standard dei database relazionali. Gli strumenti di export dei database (mysqldump, pg_dump) producono generalmente i dati sotto forma di istruzioni INSERT all'interno di uno script SQL. Questo formato, sebbene pratico per l'importazione nei database, risulta scomodo per la lettura tramite programma, l'analisi dei dati o lo scambio tra sistemi, da cui la necessità di convertirlo in formati più universali.

I comuni script di esportazione dati SQL contengono due tipi di istruzioni: CREATE TABLE definisce la struttura della tabella (nomi di colonna, tipi di dati, vincoli), e INSERT INTO ... VALUES (...) inserisce i dati veri e propri. Questo strumento analizza entrambi i tipi di istruzioni: estrae le definizioni di colonna e le informazioni di tipo da CREATE TABLE, e le righe di dati reali da INSERT, per poi riorganizzare l'output nel formato scelto dall'utente. L'intero processo di analisi avviene localmente nel browser, senza dipendere da alcun servizio backend.

Perché è necessario convertire SQL in altri formati? SQL, pur essendo universale, risulta poco pratico nei seguenti scenari: in primo luogo, un programma frontend legge JSON molto più facilmente rispetto a SQL, senza dover integrare un analizzatore SQL; in secondo luogo, i fogli di calcolo come Excel o Google Sheets supportano nativamente CSV, non SQL; in terzo luogo, YAML e Markdown sono più leggibili di SQL negli scenari di configurazione e documentazione; in quarto luogo, lo scambio di dati tra sistemi usa spesso XML o JSON come formato neutro. Una volta convertito in questi formati universali, i dati possono essere consumati direttamente da più strumenti e linguaggi.

L'analizzatore SQL di questo strumento è scritto a mano e si concentra sulle istruzioni INSERT e CREATE TABLE. Per INSERT supporta sia tuple a valore singolo (INSERT INTO t (a,b) VALUES (1,2)) sia tuple multivalore (INSERT INTO t (a,b) VALUES (1,2), (3,4), (5,6)), mappando automaticamente i dati ai nomi di colonna. Per CREATE TABLE analizza definizioni di colonna, tipi di dati (VARCHAR(255), INT, DECIMAL(10,2) ecc., con lunghezza tra parentesi), e vincoli e clausole come NOT NULL, PRIMARY KEY, IF NOT EXISTS, gestendo correttamente le parentesi annidate per evitare split errati.

Il riconoscimento dei tipi è essenziale per la conversione SQL. Lo strumento determina automaticamente il tipo a partire dalla forma letterale del valore: le stringhe con apici singoli o doppi sono stringhe; NULL (senza distinzione tra maiuscole/minuscole) è il valore nullo; TRUE/FALSE sono booleani; 0x..., X'...', B'...' sono letterali esadecimali; e i numeri puri (con segno, separatore decimale, notazione scientifica) sono numeri. Questo riconoscimento automatico dei tipi garantisce che JSON, CSV e altri formati preservino la semantica dei dati originali (ad esempio il numero 1 e non la stringa "1"), affinché i programmi a valle elaborino correttamente i valori.

Le differenze negli stili di virgolette degli identificatori tra dialetti sono una trappola comune dell'analisi SQL. MySQL usa per impostazione predefinita il backtick (`) per racchiudere gli identificatori (nomi di tabelle e colonne), PostgreSQL i doppi apici ("), SQL Server/T-SQL le parentesi quadre ([]), e lo SQL standard anch'esso i doppi apici. La funzione unquoteIdentifier di questo strumento riconosce e rimuove automaticamente queste virgolette, trattando anche gli escape interni (ad esempio `` → `, "" → "). In modalità ricostruzione SQL, INSERT può essere rigenerato con lo stile di virgolette del dialetto di destinazione scelto.

L'escape delle stringhe SQL è un altro punto tecnico essenziale. Lo standard SQL stabilisce che gli apici singoli all'interno di una stringa vengano sottoposti a escape tramite raddoppiamento ('It''s' rappresenta It's). MySQL supporta inoltre l'escape con barra rovesciata (\n, \t, \', \", \\, \0, \Z). L'analizzatore di stringhe di questo strumento gestisce entrambi i meccanismi di escape e ripristina correttamente il contenuto originale. Nella conversione in CSV, i campi con virgola, virgoletta o interruzione di riga vengono sottoposti nuovamente a escape in conformità a RFC 4180; nella conversione in XML/HTML, i caratteri speciali &, <, >, ", ' vengono sottoposti a escape.

L'elaborazione puramente frontend è un principio di progettazione fondamentale di questo strumento. Tutte le fasi di analisi SQL e di conversione dei dati vengono eseguite nel motore JavaScript del browser, senza inviare alcun dato a un server. Questo significa che anche se lo script SQL contiene informazioni personali, dati commerciali sensibili o la struttura interna di un database, nulla trapela all'esterno. Questo approccio è particolarmente adatto agli export dei database di produzione, senza preoccupazioni di conformità dei dati. Al contempo, l'elaborazione frontend elimina la latenza di rete; la velocità di conversione è limitata solo dalla CPU e dalla memoria del dispositivo.

Rispetto agli strumenti tradizionali di conversione SQL a riga di comando (sql2csv, sqlparser), questo strumento offre diversi vantaggi: nessuna installazione o configurazione dell'ambiente, utilizzo diretto dalla pagina web; interfaccia visiva con anteprima in tempo reale del risultato; passaggio con un clic tra più formati di output; dati di esempio e documentazione integrati; design responsive mobile utilizzabile ovunque. In compenso, lo strumento è focalizzato sull'estrazione dei dati e non tratta differenze complesse tra dialetti (operatori JSONB di PostgreSQL, ON DUPLICATE KEY UPDATE di MySQL) né funzionalità avanzate (procedure salvate, funzioni, trigger). Per questo tipo di esigenze, usa strumenti nativi del database o piattaforme ETL specializzate.

Nell'uso dello strumento di conversione SQL è opportuno tenere a mente alcune buone pratiche: in primo luogo, prima di convertire, verificare che lo script SQL contenga dati completi (istruzioni INSERT) e non solo query (SELECT), poiché SELECT non viene analizzato; in secondo luogo, per script SQL con più tabelle, attivare «Output separato per tabelle» per conservare le informazioni di struttura; in terzo luogo, per SQL con caratteri cinesi, attivare «Includi BOM» nell'output CSV affinché Excel riconosca la codifica; in quarto luogo, per dump SQL di grandi dimensioni, disattivare «output formattato» per ridurre il volume di output; in quinto luogo, per migrare tra database, usare la modalità «Ricostruzione SQL» per cambiare dialetto, tenendo presente che i tipi complessi (array di PostgreSQL, JSONB) possono richiedere aggiustamenti manuali.

Casi d'uso

  • Convertire in JSON gli script SQL esportati da mysqldump o pg_dump, per importare dati via API o consumarli nel frontend
  • Convertire istruzioni INSERT di database in file CSV, da importare in Excel/WPS/Google Sheets per analisi dati o report
  • Estrarre dati da script di backup SQL in XML, per lo scambio di dati tra sistemi o l'integrazione con interfacce SOAP
  • Convertire dati SQL nel formato di configurazione YAML, per scenari di configurazione Ansible, Docker Compose, Kubernetes, ecc.
  • Convertire i risultati di query SQL (esportati come INSERT) in tabelle HTML, da incorporare direttamente in pagine web
  • Convertire dati SQL in tabelle Markdown, da incollare in README, siti di documentazione o blog tecnici
  • Estrarre dati da script completi CREATE TABLE + INSERT e convertirli in JSON Lines per l'indicizzazione massiva di Elasticsearch
  • Durante la migrazione di database, ricostruire script INSERT di MySQL nel dialetto PostgreSQL per facilitare l'importazione tra database
  • Gestione dei dati di test: convertire dati seed SQL in configurazione JSON, facili da leggere e versionare per i programmi
  • Dimostrazioni didattiche: convertire istruzioni SQL in più formati e confrontarle, per aiutare gli studenti a comprendere le differenze tra rappresentazioni dei dati
  • Pre-elaborazione ETL: convertire dump SQL a monte in JSON/CSV strutturato come input di pipeline ETL a valle
  • Analisi dei dati: estrarre dati chiave da export SQL in CSV, per analizzarli con pandas, R e altri strumenti statistici
  • Consegna al cliente: convertire export di database nei formati JSON o CSV, più universali, per consultazione da parte di non tecnici
  • Archiviazione dei dati: convertire gli script INSERT di database storici in YAML o Markdown, più leggibili per l'archiviazione

Come utilizzare

  1. Incolla lo script SQL nella casella di input a sinistra, oppure fai clic sul pulsante «Carica SQL» per selezionare un file .sql/.txt
  2. Fai clic sul pulsante «Esempio» per caricare un esempio SQL integrato (con CREATE TABLE e più INSERT di tabelle)
  3. Seleziona il formato di destinazione (JSON, CSV, XML, YAML e altri 5) nel menu a tendina del formato in alto nel pannello di output a destra
  4. Fai clic su «Impostazioni» per regolare le opzioni di conversione: output formattato, inclusione BOM, output separato per tabelle, separatore CSV, nome chiave radice JSON, dialetto SQL, ecc.
  5. Fai clic su «Converti» per eseguire la conversione. Il risultato appare nel pannello di destra, la barra di stato in basso indica il numero di tabelle, righe, istruzioni INSERT e altre statistiche
  6. Fai clic su «Copia» per copiare il risultato negli appunti, oppure su «Scarica» per salvarlo come file nel formato corrispondente (ad esempio result.json, result.csv)
  7. Cambiando il formato di output la riconversione è automatica, senza dover fare di nuovo clic sul pulsante Converti

Funzionalità

  • Nove formati di output: JSON, JSON Lines, CSV, TSV, XML, YAML, tabella HTML, tabella Markdown, ricostruzione SQL — cambia formato con un clic e la riconversione è automatica
  • Analisi delle istruzioni INSERT: riconoscimento automatico della sintassi INSERT INTO ... VALUES (...), supporto per tuple singole e multivalore (più righe di dati in una singola istruzione INSERT)
  • Riconoscimento di CREATE TABLE: analizza le istruzioni CREATE TABLE per estrarre definizioni di colonna, tipi di dati, NOT NULL, PRIMARY KEY e altri vincoli, al fine di dedurre i tipi di campo
  • Elaborazione di più tabelle: quando uno script contiene più tabelle, l'output può essere per tabella (con marcatori di separazione per nome tabella) o combinato, aggregando automaticamente le colonne e le righe di ogni tabella
  • Riconoscimento automatico dei tipi: identificazione intelligente di numeri (interi/virgola mobile), stringhe, NULL, booleani (TRUE/FALSE) e letterali esadecimali (0x..., X'...', B'...'), preservando la semantica di tipo originale
  • Compatibilità con più dialetti: riconosce i backtick di MySQL (`), i doppi apici di PostgreSQL ("), le parentesi quadre di SQL Server ([]) e gli apici standard, rimuovendo automaticamente le virgolette degli identificatori
  • Escape delle stringhe SQL: gestisce l'escape standard SQL ('' → ') e l'escape con barra rovesciata di MySQL (\n, \r, \t, \0, \', \") per ripristinare correttamente le stringhe con caratteri speciali
  • Ricostruzione del dialetto SQL: le istruzioni INSERT possono essere rigenerate nei dialetti MySQL, PostgreSQL, SQLite o SQL standard, con nome tabella personalizzato e generazione opzionale di CREATE TABLE
  • Configurazione flessibile del CSV: separatore a scelta (virgola/punto e virgola/Tabulazione/Barra verticale), intestazione BOM UTF-8 opzionale (compatibile con Excel), indentazione opzionale, conforme allo standard RFC 4180
  • Più strutture JSON: tre strutture di output JSON selezionabili — raggruppate per tabella (chiave radice tables), dati puri (chiave radice data) o array puro (senza chiave radice), adatte a diversi scenari di consumo
  • Statistiche in tempo reale: dopo la conversione, vengono mostrati in tempo reale il numero di tabelle, il numero totale di righe, il numero di istruzioni INSERT e il numero di caratteri di output, per verificare l'integrità del risultato
  • Caricamento e download di file: permette di caricare file .sql/.txt/.csv/.tsv/.json per l'analisi diretta, e di scaricare il risultato come file nel formato corrispondente (.json, .csv, .yaml)
  • Gestione della cronologia: pannello laterale integrato a sinistra che salva automaticamente le ultime entry SQL convertite, per ricaricare rapidamente gli script precedenti
  • Design responsive per mobile: sugli smartphone passa automaticamente a un layout a schede input/risultato, sul desktop usa un doppio pannello ridimensionabile, tutte le interazioni sono disponibili anche su mobile
  • Elaborazione interamente locale nel browser: tutti i passaggi di analisi e conversione vengono eseguiti nel JavaScript del browser, senza alcuna richiesta al server. I dati SQL non lasciano il dispositivo — ideale per export di database con informazioni sensibili

Domande frequenti

In quali formati si può convertire SQL?

Questo strumento supporta nove formati di output: JSON (array strutturato), JSON Lines (un oggetto JSON per riga), CSV (separato da virgole), TSV (separato da tabulazioni), XML (documento XML standard con tag), YAML (formato di configurazione), tabella HTML (con stili, visualizzabile direttamente nel browser), tabella Markdown (sintassi di documentazione) e ricostruzione SQL (rigenerazione di istruzioni INSERT con dialetto a scelta). Basta un clic nel menu a tendina del formato a destra per passare e riconvertire automaticamente.

Quali istruzioni SQL sono supportate?

Vengono analizzate principalmente le istruzioni INSERT INTO ... VALUES (...) per estrarre i dati e vengono riconosciute le istruzioni CREATE TABLE per ottenere le definizioni di colonna e le informazioni di tipo. Supporta INSERT singoli, INSERT con tuple multiple (più righe in una singola istruzione), più istruzioni INSERT e INSERT distribuite su più tabelle. I commenti (-- una riga, /* */ più righe, # MySQL una riga) vengono rimossi automaticamente e non influiscono sull'analisi.

Quali dialetti di database sono supportati?

Durante l'analisi sono compatibili gli stili di virgolette degli identificatori di MySQL (backtick `), PostgreSQL (doppi apici "), SQL Server (parentesi quadre []) e SQL standard, e vengono rimossi automaticamente per ripristinare i nomi originali di colonne e tabelle. In modalità ricostruzione SQL, INSERT può essere rigenerato nei dialetti MySQL, PostgreSQL, SQLite o SQL standard; le virgolette e la rappresentazione dei booleani variano a seconda del dialetto.

Come vengono gestite più tabelle in uno script SQL?

Lo strumento aggrega automaticamente i dati INSERT per nome tabella. Quando l'opzione «Output separato per tabelle» è attiva nelle impostazioni, i formati tabellari come CSV/HTML/Markdown vengono emessi per segmenti (con marcatura del nome tabella), mentre i formati strutturati come JSON/XML vengono raggruppati per nome tabella. Se l'opzione è disattivata, CSV produce solo i dati della prima tabella, e JSON può essere emesso senza chiave radice come array puro.

Come vengono trattati NULL, i booleani e i caratteri speciali in SQL?

Lo strumento riconosce automaticamente NULL (senza distinzione tra maiuscole/minuscole), i booleani TRUE/FALSE, i letterali esadecimali (0x..., X'...', B'...'), gli interi e i numeri a virgola mobile. Le stringhe vengono trattate con l'escape standard SQL ('' → ') e l'escape con barra rovesciata di MySQL (\n, \t, \' ecc.) per ripristinare correttamente il contenuto originale con interruzioni di riga, virgolette e caratteri speciali. Nell'output CSV, i campi che contengono virgola, virgoletta o interruzione di riga vengono racchiusi tra virgolette e sottoposti a escape in conformità allo standard RFC 4180.

Qual è la struttura del JSON convertito?

L'output JSON supporta tre strutture: «chiave radice tables» (raggruppata per nome tabella, consigliata per più tabelle), «chiave radice data» (incapsulamento unificato), «senza chiave radice» (array puro, adatto a tabella singola o elaborazione in flusso). Ad esempio, una tabella singola users diventa [{"id":1,"name":"Alice"},...], più tabelle vengono raggruppate per nome in {"users":[...],"orders":[...]}. Selezionabile nelle impostazioni.

I file SQL caricati vengono salvati sul server?

No. Questo strumento è un'applicazione puramente frontend. Tutti i passaggi di analisi e conversione vengono eseguiti localmente nel JavaScript del browser, senza inviare il contenuto SQL o i risultati ad alcun server. I file caricati vengono letti direttamente nel browser tramite FileReader ed eliminati automaticamente alla chiusura della pagina. Adatto per export di database con dati personali o sensibili.

Gli identificatori con parentesi quadre di SQL Server sono supportati?

Sì. Lo strumento riconosce gli identificatori con parentesi quadre di SQL Server/T-SQL (ad esempio [users], [order details]) e rimuove automaticamente le parentesi per ripristinare i nomi originali. Supporta anche i backtick di MySQL e i doppi apici di PostgreSQL. In modalità ricostruzione SQL, la scelta del dialetto determina lo stile di virgolette usato per rigenerare INSERT.

Perché la conversione del mio script SQL non produce alcun dato?

Verifica se il SQL contiene istruzioni INSERT INTO ... VALUES (...). Questo strumento analizza solo istruzioni INSERT per estrarre dati; le query SELECT non producono output. Se ci sono solo istruzioni CREATE TABLE, viene mostrato l'avviso «È stato rilevato solo CREATE TABLE, non ci sono righe di dati da convertire». Assicurati che lo script SQL sia un export di dati (dump) e non query.

Procedure salvate, funzioni e trigger sono supportati?

No. Questo strumento è specializzato nell'estrazione dei dati e analizza solo le istruzioni INSERT e CREATE TABLE. Le procedure salvate (CREATE PROCEDURE), le funzioni (CREATE FUNCTION), i trigger (CREATE TRIGGER) e le viste (CREATE VIEW) non vengono analizzati. Per migrare questi oggetti, usa strumenti nativi come pg_dump o mysqldump.

I caratteri cinesi vengono visualizzati correttamente nel file CSV convertito aprendolo in Excel?

Sì. Attivando l'opzione «Includi BOM» nelle impostazioni, il file CSV riceve un'intestazione BOM UTF-8 (\uFEFF) ed Excel riconosce correttamente la codifica, mostrando i caratteri non ASCII come il cinese in modo corretto. Senza BOM, alcune versioni di Excel possono mostrare il cinese UTF-8 come caratteri errati. I fogli di calcolo moderni come Google Sheets o WPS riconoscono generalmente la codifica correttamente anche senza BOM.

Si possono ricostruire istruzioni INSERT a partire da uno script SQL?

Sì. Con il formato di output «Ricostruzione SQL» puoi rigenerare istruzioni INSERT. È possibile scegliere il dialetto di destinazione (MySQL/PostgreSQL/SQLite/SQL standard), personalizzare il nome della tabella e generare opzionalmente un'istruzione CREATE TABLE (i tipi di colonna INT/BIGINT/FLOAT/VARCHAR/TEXT/BOOLEAN vengono dedotti automaticamente dai dati). Ideale per riconvertire uno script MySQL nel dialetto PostgreSQL o per reimportare dopo aver modificato il nome della tabella.

Qual è la differenza tra JSON Lines e JSON? Quando usare JSON Lines?

L'output JSON è un array JSON completo ([{...},{...}]), adatto a programmi che caricano tutto in memoria. JSON Lines (chiamato anche NDJSON) contiene un oggetto JSON indipendente per riga, adatto per l'elaborazione in flusso, l'importazione di grandi volumi, l'API bulk di Elasticsearch, l'analisi di log, ecc., dove la lettura riga per riga riduce il consumo di memoria. Lo strumento permette di passare liberamente tra i due formati.

L'ordine originale delle colonne viene conservato nel risultato?

Sì. Lo strumento mantiene i nomi delle colonne nell'ordine specificato nell'istruzione INSERT. Se INSERT non indica esplicitamente i nomi delle colonne (ad esempio INSERT INTO t VALUES (...)), vengono generati nomi di colonna sostitutivi come col_1, col_2, ecc., in base al numero di valori della prima riga. L'ordine delle colonne di ogni tabella viene conservato in modo indipendente e presentato per tabella nell'esportazione combinata.

Qual è la dimensione massima di file SQL supportata?

Teoricamente non c'è un limite rigido; il limite è dato dalla memoria del browser. I dump SQL di alcune decine di MB vengono generalmente elaborati con fluidità, mentre file molto grandi (diverse centinaia di MB) possono rallentare per mancanza di memoria del browser. Per file molto grandi si consiglia di dividerli in più file piccoli da convertire in batch, oppure di disattivare «output formattato» per ridurre il consumo di memoria. L'analisi avviene localmente nel browser e non è limitata dal trasferimento di rete.

Risoluzione dei problemi

Nessun dato in output dopo la conversione?

Causa 1: lo script SQL contiene solo query SELECT. Questo strumento analizza solo istruzioni INSERT per estrarre dati e non esegue query. Soluzione: usa mysqldump/pg_dump per esportare i dati come istruzioni INSERT. Causa 2: lo script SQL contiene solo CREATE TABLE senza righe di dati; in tal caso viene mostrato un avviso. Causa 3: la sintassi INSERT non è standard (ad esempio manca la parola chiave VALUES); verifica la sintassi SQL. Causa 4: tutto il contenuto SQL è commentato (-- o /* */); verifica se sono stati lasciati per errore marcatori di commento.

I caratteri cinesi del CSV appaiono come caratteri errati in Excel?

Excel riconosce per impostazione predefinita il CSV in codifica GBK, perciò il cinese in UTF-8 appare come caratteri errati. Soluzione: attiva l'opzione «Includi BOM» nelle impostazioni. Il file CSV risultante avrà un'intestazione BOM UTF-8 (\uFEFF) ed Excel riconoscerà correttamente la codifica UTF-8. Se hai già esportato un CSV senza BOM, puoi salvarlo nuovamente come «UTF-8 con BOM» in un editor di testo prima di aprirlo in Excel, oppure aprirlo direttamente con Google Sheets, WPS o un altro foglio di calcolo moderno.

I numeri diventano stringhe nel JSON?

Causa: il numero è racchiuso tra virgolette nel SQL (ad esempio '123' invece di 123), lo strumento lo analizza quindi come stringa. Soluzione: verifica se i numeri sono racchiusi tra virgolette nello script SQL e rimuovile. Se i dati originali sono così (ad esempio CAP spesso salvati come stringa), si tratta del comportamento atteso, poiché la semantica di stringa evita la perdita degli zeri iniziali (01234 non viene convertito in 1234).

Errore nella conversione di stringhe con caratteri speciali?

Causa: i caratteri speciali (interruzione di riga, virgoletta, barra rovesciata) della stringa SQL non sono sottoposti correttamente a escape. Questo strumento supporta l'escape standard SQL ('' → ') e l'escape con barra rovesciata di MySQL (\n, \' ecc.). Tuttavia, se il SQL originale usa un escape non standard (ad esempio stringhe E'...' di PostgreSQL), il ripristino può fallire. Soluzione: verifica la conformità dell'escape SQL e, se necessario, aggiustalo manualmente in un editor di testo prima di convertire.

Convertendo un SQL con più tabelle, si vede solo la prima?

Causa: l'opzione «Output separato per tabelle» non è attiva; i formati tabellari come CSV/HTML/Markdown producono per impostazione predefinita solo la prima tabella. Soluzione: attiva «Output separato per tabelle» nelle impostazioni. Il CSV verrà emesso a segmenti per tabella (con marcatore # Table: nome tabella), e il JSON verrà raggruppato per nome tabella ({nome_tabella1:[...],nome_tabella2:[...]}). Nota: il formato JSON Lines non distingue le tabelle; tutte le righe vengono combinate.

Dopo la ricostruzione SQL, le virgolette dei nomi di tabelle o colonne sono errate?

Causa: durante la ricostruzione è stato scelto il dialetto sbagliato. I dialetti usano stili di virgolette diversi (backtick MySQL, doppi apici PostgreSQL, parentesi quadre SQL Server). Soluzione: seleziona il dialetto SQL di destinazione nelle impostazioni; lo strumento rigenera INSERT con lo stile di virgolette corrispondente. Ad esempio, scegliendo PostgreSQL il nome della tabella diventa "users"; scegliendo MySQL, `users`.

Glossario

SQL (Structured Query Language)
Linguaggio di query strutturato, linguaggio standard di query e operazione nei database relazionali (MySQL, PostgreSQL, Oracle, SQL Server, SQLite). Include sottolinguaggi come DDL (definizione dati), DML (manipolazione dati), DQL (interrogazione dati) e DCL (controllo dati).
Istruzione INSERT
Istruzione SQL per inserire dati in una tabella, sintassi INSERT INTO table (cols) VALUES (vals). Supporta tuple singole e multiple per l'inserimento batch. Questo strumento analizza principalmente istruzioni INSERT per estrarre dati.
Istruzione CREATE TABLE
Istruzione DDL di SQL per creare una tabella. Definisce nomi di colonna, tipi di dati e vincoli (NOT NULL, PRIMARY KEY, UNIQUE, ecc.). Questo strumento può analizzare CREATE TABLE per estrarre le definizioni di colonna.
Tupla VALUES
Lista di valori tra parentesi dopo la parola chiave VALUES in un'istruzione INSERT, ad esempio (1, 'Alice', TRUE). Un'istruzione INSERT può contenere più tuple per l'inserimento batch: VALUES (1,'A'), (2,'B'), (3,'C').
Dialetto SQL
Differenze di estensione dei produttori di database rispetto allo standard SQL, ad esempio virgolette degli identificatori (backtick MySQL, doppi apici PostgreSQL, parentesi quadre SQL Server), booleani (TRUE/1), colonne autoincrementali (AUTO_INCREMENT/SERIAL), ecc.
Virgolette degli identificatori
Caratteri speciali in SQL che racchiudono i nomi di tabelle e colonne. MySQL usa il backtick `name`, PostgreSQL e SQL standard i doppi apici "name", SQL Server le parentesi quadre [name]. Servono per sottoporre a escape le parole riservate o in scenari sensibili alle maiuscole/minuscole.
Escape SQL
Meccanismo per rappresentare caratteri speciali nelle stringhe SQL. Lo standard SQL usa il raddoppiamento degli apici singoli ('') per un apice singolo; MySQL supporta inoltre l'escape con barra rovesciata (\n, \t, \', \\). Questo strumento sa ripristinare entrambi i meccanismi di escape.
Valore NULL
Valore speciale in SQL che rappresenta un dato mancante o sconosciuto, senza distinzione tra maiuscole/minuscole (NULL/null/Null). NULL non è uguale alla stringa vuota né a 0. In JSON, NULL viene mappato a null; in CSV, generalmente viene lasciato vuoto.
Letterale esadecimale
Sintassi letterale in SQL per rappresentare dati binari. MySQL supporta le forme 0x... e X'...', PostgreSQL X'...' e B'...' (binario). Questo strumento conserva i letterali esadecimali inalterati.
JSON Lines (NDJSON)
Formato di testo con un oggetto JSON indipendente per riga, estensione .jsonl. Adatto per l'elaborazione in flusso, l'importazione di grandi volumi e l'API bulk di Elasticsearch, più risparmiatore di memoria rispetto a un array JSON completo.
RFC 4180
Standard internazionale del formato CSV (Common Format and MIME Type for Comma-Separated Values Files) che definisce le regole di separazione dei campi, escape con virgolette e gestione delle interruzioni di riga. L'output CSV di questo strumento è conforme a questo standard.
BOM (Byte Order Mark)
Marchio di ordine dei byte, carattere U+FEFF. Un BOM all'inizio di un file UTF-8 aiuta programmi come Excel a riconoscere la codifica ed evita la visualizzazione errata dei caratteri cinesi. L'output CSV di questo strumento può includere opzionalmente un BOM.
SQL Dump
File di script SQL esportato da un database, generalmente prodotto da strumenti come mysqldump o pg_dump, contenente istruzioni CREATE TABLE e INSERT per backup e migrazioni di database.
DDL (Data Definition Language)
Linguaggio di definizione dei dati, sottoinsieme di SQL che include istruzioni come CREATE, ALTER, DROP, usato per definire e modificare la struttura di un database (tabelle, viste, indici, ecc.).

Confronto dei formati di output supportati

Confronto delle caratteristiche e dei casi d'uso dei nove formati di output:

FormatoEstensioneCaratteristicaCaso d'uso ideale
JSON.jsonArray strutturato, tipi conservatiAPI, lettura da programma, dati frontend
JSON Lines.jsonlUn oggetto JSON per rigaElaborazione in flusso, Elasticsearch, big data
CSV.csvTabella separata da virgole, RFC 4180Excel, analisi dati, report
TSV.tsvTabella separata da tabulazioniIncollare in foglio di calcolo, bioinformatica
XML.xmlDocumento strutturato con tag e attributiInterfacce SOAP, file di config, sistemi Java
YAML.yamlFormato di configurazione più leggibileAnsible, K8s, configurazione CI/CD
HTML.htmlTabella con stili, visualizzabile nel browserVisualizzazione web, email, report
Markdown.mdSintassi di tabella MarkdownREADME, siti di doc, blog tecnici
Ricostruzione SQL.sqlINSERT rigenerato, dialetto modificabileMigrazione tra database, modifica nome tabella

Regole di riconoscimento dei tipi di valori SQL

Regole di riconoscimento dei tipi durante l'analisi dei valori SQL (in base alla forma letterale):

Letterale SQLTipo riconosciutoOutput JSONOutput CSV
123Intero123123
-45Intero negativo-45-45
3.14Virgola mobile3.143.14
1e10Notazione scientifica1000000000010000000000
'hello'Stringa"hello"hello
NULLValore nullonull(vuoto)
TRUEBooleano verotrueTRUE
FALSEBooleano falsofalseFALSE
0xFFEsadecimale"0xFF"0xFF
X'4142'Esadecimale"X'4142'"X'4142'

Stili di virgolette degli identificatori nei diversi dialetti di database

Differenze nelle virgolette degli identificatori (nomi di tabelle e colonne) tra i principali database:

DatabaseStile di virgoletteEsempioNota
MySQL/MariaDBBacktick ``users`Attivo per impostazione predefinita, distingue le parole riservate
PostgreSQLDoppi apici ""users"Sensibile alle maiuscole/minuscole, stile SQL standard
SQLiteDoppi apici "/Backtick`/Parentesi quadre[]"users" / [users]Compatibile con più stili
SQL ServerParentesi quadre [][users]Stile predefinito T-SQL
OracleDoppi apici ""users"Forza maiuscole, le virgolette preservano le minuscole
SQL standardDoppi apici ""users"Standard ANSI SQL

Privacy & Security

Tutte le operazioni di questo convertitore SQL avvengono interamente in locale nel tuo browser: l'analisi SQL, l'estrazione dei dati e la conversione del formato vengono eseguite lato client nel JavaScript del browser, senza che alcun contenuto SQL, file caricato o risultato di conversione venga inviato tramite rete a un server. I caricamenti di file vengono letti direttamente in memoria tramite l'API FileReader nativa del browser, senza servizi intermedi. Non vengono usati cookie di tracciamento, non viene raccolta alcuna immissione utente né dato di utilizzo. Alla chiusura o al ricaricamento della pagina, tutti gli input e gli output vengono automaticamente cancellati dalla memoria (la cronologia viene conservata solo localmente nel localStorage del browser). Adatto per script di esportazione di database con informazioni personali o commerciali sensibili.

Authoritative References