Minggu, 22 Agustus 2021

Konversi SQLite3 ke MySQL

 Import dari CSV dalam ukuran besar ke mysql sering kali gagal. Gak tau kurang hoki atau gimana, udah coba pake shell atau tool desktop based lain sering gagalnya. Kalo data ukuran masih di MB mungkin bisa. Ini datanya GB an ukurannya. Jadi perlu sedikit akal untuk melakukannya. Nah dari CSV ku ubah dulu ke SQLite pake DB browser for SQLite yang bisa dicari di google, gratis. Import 2jt - 4jt row cepet banget. Nah dari SQLite ini baru ku ubah jadi SQL.

Muter muter ke google, ketemu library python yang sangat berfaedah. Bisa dicek di sini: https://pypi.org/project/sqlite3-to-mysql/

Tinggal install library itu dengan perintah:

pip install sqlite3-to-mysql

Tentunya pastikan udah ada python di komputer kamu ya, caranya cari di google bejibun banget. Setelah keinstall library tersebut, tinggal deh jalanin di command promt. Pastikan kamu udah masuk ke direktori dimana file sqlite mu berada ya:

sqlite3mysql -f sqlite.db -d dbname -u user -p -q 

Artinya:

sqlite3mysql : perintah dasarnya

-f sqlite.db : ubah sqlite.db dengan nama file sqlite mu

-d dbname :  ubah dengan nama database mysql mu

-u user : ubah dengan nama user mysql mu

-p : nanti keluar promt buat masukin pasword mu

-q : silent


Tekan enter dan masukin password mysqlmu, selesai.

Menambahkan ID Auto Increment pada Tabel MySQL yang Sudah Ada

Akhir-akhir ini lagi seneng-senengnya bikin website dari Big Data, sebenernya gak Big Big juga, tapi row nya minimal 500rb lah. Nah data tersebut biasanya kuperoleh dari situs yang emang share data nya buat penelitian atau grab dari website besar. Masalahnya umumnya data yang dishare publik biasanya berbentuk json, csv atau xml. Butuh sedikit skill buat ngubah jadi database biar bisa dibuat website. Bisa juga sih buat website langsung pake json, csv atau xml, tapi ribet dan kurang efisien. Mau gak mau harus convert ke sql. Untuk convert ke sql dari json, csv atau xml akan saya bahas di post lain ya. Di post ini mau fokus share nambahin id pada tabel sebuah database yang sudah ada. Karena dari sononya gak ada id nya, sedangkan saya butuh banget id, karena engine yang saya pake mewajibkannya.

Tanpa babibu, langsung aja ya ini syntax SQL nya, bisa di paste di tool sql query kesukaan kalian (phpmyadmin, adminer, workbench, heidisql) atau mau di paste di shell mysql langsung juga bisa.

ALTER TABLE table_name ADD id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

Keterangan:

ALTER TABLE : perintah untuk mengubah/memodifikasi struktur tabel mysql

table_name : ganti dengan nama tabel yang mau diubah

ADD : perintah menambahkan field

id : nama fieldnya, saya pake name id, bisa diganti sesuka kamu

INT : tipe data integer

NOT NULL : tidak boleh kosong

AUTO_INCREMENT : perintah yang digunakan untuk membuat 'id' jadi auto increment

PRIMARY KEY : untuk membuat id nya jadi primary key

FIRST : meletakkan field 'id' di urutan paling awal dari field lainnya yang sudah ada di dalam tabel

 


Gambar proses altering table nya