Saltar al contenido
🛠️ToolsShed

Generador de INSERT SQL

Genera sentencias SQL INSERT desde entrada de datos tabulares.

Estilo de comillas:
Salida SQL

Acerca de esta herramienta

SQL INSERT Generator es una herramienta para desarrolladores que convierte datos tabulares en sentencias SQL INSERT listas para ejecutar. Ya sea que esté migrando datos desde una hoja de cálculo, creando accesorios de prueba o rellenando una base de datos con valores iniciales, esta herramienta elimina el tedioso trabajo manual de escribir la sintaxis INSERT a mano. Lee su estructura de datos y genera SQL sintácticamente correcto que funciona con la mayoría de bases de datos relacionales, incluyendo MySQL, PostgreSQL, SQLite y SQL Server.

Para usar la herramienta, pegue sus datos tabulares (desde una hoja de cálculo, archivo CSV o tabla de texto) en el área de entrada y seleccione el tipo de base de datos de destino. El generador detecta automáticamente columnas, infiere tipos de datos, maneja caracteres especiales y escapes, y produce código SQL limpio listo para pegar directamente en su cliente de base de datos. Puede personalizar el nombre de la tabla y ajustar cualquier sentencia generada antes de la ejecución.

Esta herramienta es especialmente valiosa para desarrolladores que configuran entornos de prueba, administradores de bases de datos que bootstrap nuevas instancias e ingenieros de datos que preparan importaciones masivas. Maneja casos extremos comunes como valores NULL, escapes de cadenas y formato de fechas, ahorrando tiempo y reduciendo errores de sintaxis que podrían romper operaciones de importación.

Preguntas Frecuentes

Implementación de Código

# 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.