Lewati ke konten
πŸ› οΈToolsShed

Generator SQL INSERT

Buat pernyataan SQL INSERT dari input data tabular.

Gaya Kutipan:
Output SQL

Tentang alat ini

SQL INSERT Generator adalah alat pengembang yang mengonversi data tabular menjadi pernyataan SQL INSERT yang siap dieksekusi. Baik Anda bermigrasi data dari spreadsheet, membuat fixture uji, atau mengisi database dengan nilai awal, alat ini menghilangkan pekerjaan manual yang membosankan untuk menulis sintaks INSERT dengan tangan. Ini membaca struktur data Anda dan menghasilkan SQL yang sintaksisnya benar untuk digunakan dengan sebagian besar database relasional termasuk MySQL, PostgreSQL, SQLite, dan SQL Server.

Untuk menggunakan alat ini, tempel data tabular Anda (dari spreadsheet, file CSV, atau tabel teks) ke area input dan pilih jenis database target. Generator secara otomatis mendeteksi kolom, menyimpulkan tipe data, menangani karakter khusus dan escaping, dan menghasilkan kode SQL bersih yang siap untuk ditempel langsung ke klien database Anda. Anda dapat menyesuaikan nama tabel dan menyesuaikan pernyataan yang dihasilkan sebelum eksekusi.

Alat ini sangat berharga bagi pengembang yang menyiapkan lingkungan pengujian, administrator database yang menginisialisasi instance baru, dan insinyur data yang menyiapkan impor massal. Alat ini menangani kasus tepi umum seperti nilai NULL, escaping string, dan pemformatan tanggal, menghemat waktu dan mengurangi kesalahan sintaks yang dapat menggagalkan operasi impor.

Pertanyaan yang Sering Diajukan

Implementasi Kode

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