Lompat ke konten
SPCX Tools

CSV ke SQL

Konversi data CSV menjadi statement SQL CREATE TABLE dan INSERT secara instan.

Berjalan secara lokal — file tidak pernah meninggalkan perangkat Anda

Memuat alat…

Cara menggunakan CSV ke SQL

  1. 1Tempel data CSV Anda ke kotak input, atau klik Contoh untuk melihat cara kerja formatnya.
  2. 2Masukkan nama tabel target dan pilih dialek database yang Anda inginkan (MySQL, PostgreSQL, SQLite, atau SQL Server).
  3. 3Atur opsi untuk menyertakan statement CREATE TABLE, mengelompokkan insert (batch), atau menjadikan sel kosong sebagai NULL.
  4. 4Salin SQL yang dihasilkan atau unduh langsung sebagai file .sql.

Konverter CSV ke SQL yang cepat dan privat

Mengubah data spreadsheet menjadi format database relasional adalah tugas umum bagi developer, administrator database, dan analis data. Alat ini memungkinkan Anda mengonversi CSV ke SQL langsung di browser web. Baik untuk mengisi database baru, memigrasi data lama, maupun mengimpor dataset dengan cepat, Anda dapat membuat perintah insert dari data CSV dalam hitungan detik.

Karena seluruh proses konversi berjalan secara lokal di perangkat Anda, data Anda tidak pernah diunggah ke server eksternal. Hal ini menjamin privasi dan keamanan penuh, sehingga Anda dapat memproses data pengguna yang rahasia, catatan keuangan, atau informasi eksklusif dengan aman tanpa risiko kebocoran data.

Cara kerja penentuan tipe data otomatis

Menulis skema secara manual untuk dataset dengan puluhan kolom sangatlah merepotkan. Untuk menghemat waktu, alat ini otomatis membaca data CSV Anda dan menentukan tipe data SQL yang paling sesuai untuk setiap kolom. Alat ini mengecek nilai aktual pada baris data (mengabaikan sel kosong) dan menerapkan aturan berikut:

  • INTEGER: Ditetapkan jika semua nilai dalam kolom adalah bilangan bulat (misalnya, 42, -15).
  • DECIMAL: Ditetapkan jika nilainya berupa angka desimal (floating-point) atau menggunakan notasi ilmiah (misalnya, 3.14, -0.5).
  • BOOLEAN: Ditetapkan jika kolom hanya berisi true atau false (tidak peka huruf besar/kecil).
  • DATE: Ditetapkan jika nilainya cocok dengan format tanggal standar ISO (YYYY-MM-DD).
  • TEXT / VARCHAR: Tipe fallback jika kolom berisi data campuran, teks biasa, atau format yang tidak sesuai dengan pola ketat di atas.

Jika Anda memilih untuk membuat perintah CREATE TABLE, tipe data ini akan otomatis dipetakan ke sintaks yang tepat sesuai dialek database pilihan Anda.

Dialek SQL yang didukung

Setiap mesin database memiliki aturan tersendiri dalam memberi tanda kutip pada pengidentifikasi (seperti nama tabel dan kolom), menentukan tipe data, dan memformat nilai literal. Alat ini mendukung empat dialek utama untuk memastikan SQL yang dihasilkan dapat berjalan tanpa kesalahan sintaks:

MySQL: Saat Anda mengonversi CSV ke MySQL, alat ini mengapit nama tabel dan kolom dengan backtick (`). Kolom teks secara default menggunakan VARCHAR(255), dan boolean ditulis sebagai TRUE atau FALSE.

PostgreSQL: Pengidentifikasi diapit dengan tanda kutip ganda ("). Kolom teks menggunakan tipe TEXT, yang merupakan standar dan sangat efisien di Postgres. Boolean didukung secara bawaan sebagai TRUE atau FALSE.

SQLite: Pengidentifikasi menggunakan tanda kutip ganda. Karena SQLite menggunakan tipe data dinamis dengan kelas penyimpanan yang terbatas, nilai desimal dipetakan ke REAL, boolean ke INTEGER (menghasilkan 1 atau 0), dan teks menggunakan afinitas TEXT.

SQL Server (T-SQL): Pengidentifikasi diapit dengan tanda kurung siku ([]). Kolom teks secara default menggunakan VARCHAR(255), dan boolean dipetakan ke tipe data BIT (menghasilkan 1 atau 0). Selain itu, jika string teks mengandung karakter non-ASCII, alat ini otomatis menambahkan awalan N (misalnya, N'Value') untuk memastikan proses insert Unicode (NVARCHAR) berjalan dengan benar.

Kustomisasi output SQL Anda

Anda dapat menyesuaikan skrip SQL yang dihasilkan agar sesuai dengan kebutuhan deployment Anda menggunakan opsi konfigurasi berikut:

  • Nama tabel: Tentukan nama tabel target. Alat ini otomatis menambahkan tanda kutip yang sesuai dengan dialek SQL Anda.
  • Sertakan CREATE TABLE: Jika Anda membuat database dari awal, aktifkan opsi ini untuk membuat definisi skema sebelum perintah insert. Alat ini menggunakan header CSV Anda sebagai nama kolom.
  • Insert massal: Menjalankan ribuan perintah INSERT INTO satu per satu bisa memakan waktu. Mengaktifkan opsi batch akan mengelompokkan hingga 500 baris ke dalam satu perintah insert CSV ke SQL. Hal ini mengurangi ukuran file secara drastis dan meningkatkan performa impor.
  • Sel kosong sebagai NULL: Spreadsheet sering kali memiliki sel kosong. Opsi ini memastikan string kosong pada CSV Anda ditulis secara eksplisit sebagai keyword NULL di SQL, alih-alih memasukkan string kosong ('') ke dalam database Anda.

Tips menyiapkan data CSV Anda

Untuk hasil terbaik, pastikan file CSV Anda memiliki baris header. Alat ini menggunakan baris pertama data Anda untuk menamai kolom pada perintah CREATE TABLE dan INSERT. Jika header kolom kosong, namanya akan otomatis menjadi column_1, column_2, dan seterusnya.

Jika data Anda berisi teks kompleks dengan koma, baris baru, atau tanda kutip, pastikan format CSV sudah benar (biasanya dengan mengapit isi kolom menggunakan tanda kutip ganda). Alat ini dilengkapi parser CSV andal yang mampu memproses escaped quotes dan kolom multi-baris dengan tepat.

Jika Anda perlu memproses data ke format lain, konverter CSV ke JSON atau CSV ke Excel kami mungkin akan berguna. Setelah kode SQL dihasilkan, Anda dapat merapikannya menggunakan SQL Formatter jika perlu menyesuaikan indentasi atau kapitalisasi kata kunci.

Pertanyaan yang sering diajukan

Bagaimana alat ini menentukan tipe data SQL?
Konverter memindai data di setiap kolom (mengabaikan sel kosong). Jika semua nilai cocok dengan pola tertentu, alat akan menetapkan tipe yang sesuai: INTEGER untuk bilangan bulat, DECIMAL untuk bilangan desimal, BOOLEAN untuk nilai true/false, dan DATE untuk format YYYY-MM-DD. Jika data bercampur atau tidak cocok dengan pola tersebut, tipe default-nya adalah TEXT atau VARCHAR.
Apakah data CSV saya diunggah ke server?
Tidak. Semua proses parsing dan pembuatan SQL dilakukan secara lokal di browser web Anda menggunakan JavaScript. Data tidak pernah keluar dari perangkat Anda, sehingga alat ini sepenuhnya aman untuk catatan database yang sensitif, rahasia, atau eksklusif.
Apa fungsi opsi "Batch"?
Saat diaktifkan, alat ini mengelompokkan hingga 500 baris data menjadi satu perintah INSERT multi-baris. Ini sangat mengurangi ukuran file SQL yang dihasilkan dan mempercepat waktu eksekusi saat Anda menjalankan skrip tersebut di database.
Bagaimana sel kosong diproses?
Jika Anda mencentang "Empty as NULL", setiap sel kosong di CSV Anda akan ditulis sebagai kata kunci NULL pada output SQL. Jika tidak dicentang, sel kosong akan dianggap sebagai string kosong ('') untuk kolom teks, atau tetap NULL untuk kolom numerik karena string kosong dapat menyebabkan error sintaksis.
Mengapa tipe data yang dihasilkan berubah saat saya mengganti dialek?
Sistem database yang berbeda menggunakan kata kunci yang berbeda untuk tipe kolom. Misalnya, kolom boolean direpresentasikan sebagai BOOLEAN di PostgreSQL, tetapi sebagai BIT di SQL Server dan INTEGER di SQLite. Alat ini secara otomatis menyesuaikan sintaks CREATE TABLE dan format data agar sesuai dengan dialek yang dipilih.