Vai al contenuto
🛠️ToolsShed

Generatore di INSERT SQL

Genera istruzioni SQL INSERT da dati tabulari.

Stile virgolette:
Output SQL

Informazioni sullo strumento

SQL INSERT Generator è uno strumento per sviluppatori che converte dati tabulari in istruzioni SQL INSERT pronte per l'esecuzione. Che tu stia migrando dati da un foglio di calcolo, creando fixture di test o popolando un database con valori iniziali, questo strumento elimina il tedioso lavoro manuale di scrivere la sintassi INSERT a mano. Legge la struttura dei tuoi dati e genera SQL sintatticamente corretto che funziona con la maggior parte dei database relazionali, inclusi MySQL, PostgreSQL, SQLite e SQL Server.

Per utilizzare lo strumento, incolla i tuoi dati tabulari (da un foglio di calcolo, file CSV o tabella di testo) nell'area di input e seleziona il tipo di database di destinazione. Il generatore rileva automaticamente le colonne, deduce i tipi di dati, gestisce i caratteri speciali e l'escape, e produce codice SQL pulito pronto per essere incollato direttamente nel tuo client database. Puoi personalizzare il nome della tabella e regolare qualsiasi istruzione generata prima dell'esecuzione.

Questo strumento è particolarmente prezioso per sviluppatori che configurano ambienti di test, amministratori di database che inizializzano nuove istanze e ingegneri dati che preparano importazioni in massa. Gestisce casi limite comuni come valori NULL, escape di stringhe e formattazione delle date, risparmiando tempo e riducendo gli errori di sintassi che potrebbero interrompere le operazioni di importazione.

Domande Frequenti

Implementazione del Codice

# Generate SQL INSERT statements from a list of dicts
def generate_inserts(table, rows, batch=False):
    if not rows:
        return ""
    columns = ", ".join(rows[0].keys())
    def fmt(v):
        if isinstance(v, (int, float)):
            return str(v)
        return f"'{str(v).replace(chr(39), chr(39)+chr(39))}'"

    if batch:
        values = ",\n  ".join(
            "(" + ", ".join(fmt(v) for v in row.values()) + ")"
            for row in rows
        )
        return f"INSERT INTO {table} ({columns})\nVALUES\n  {values};"
    else:
        return "\n".join(
            f"INSERT INTO {table} ({columns}) VALUES ({', '.join(fmt(v) for v in row.values())});"
            for row in rows
        )

rows = [
    {"id": 1, "name": "Alice", "email": "alice@example.com"},
    {"id": 2, "name": "Bob",   "email": "bob@example.com"},
]
print(generate_inserts("users", rows, batch=True))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.