Générateur d'INSERT SQL
Générez des instructions SQL INSERT à partir de données tabulaires.
À propos de cet outil
SQL INSERT Generator est un outil destiné aux développeurs qui convertit les données tabulaires en instructions SQL INSERT prêtes à exécuter. Que vous migriez des données à partir d'une feuille de calcul, créiez des fixtures de test ou remplissiez une base de données avec des valeurs initiales, cet outil élimine le travail fastidieux d'écrire la syntaxe INSERT à la main. Il lit votre structure de données et génère du SQL syntaxiquement correct qui fonctionne avec la plupart des bases de données relationnelles, notamment MySQL, PostgreSQL, SQLite et SQL Server.
Pour utiliser l'outil, collez vos données tabulaires (d'une feuille de calcul, d'un fichier CSV ou d'un tableau texte) dans la zone d'entrée et sélectionnez votre type de base de données cible. Le générateur détecte automatiquement les colonnes, déduit les types de données, traite les caractères spéciaux et les échappements, et produit du code SQL propre prêt à coller directement dans votre client de base de données. Vous pouvez personnaliser le nom de la table et ajuster les instructions générées avant l'exécution.
Cet outil est particulièrement précieux pour les développeurs qui configurent des environnements de test, les administrateurs de bases de données qui initialisent de nouvelles instances et les ingénieurs de données qui préparent des importations en masse. Il gère les cas limites courants tels que les valeurs NULL, l'échappement des chaînes et le formatage des dates, ce qui permet d'économiser du temps et de réduire les erreurs de syntaxe qui pourraient interrompre les opérations d'importation.
Questions Fréquentes
Implémentation du Code
# 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.