Query Export Data dari Suatu Tabel ke Tabel Lainnya Pada Database MySQL

Ada masanya kita ingin mengimport / mengexport data dari table lama ke table yang baru dalam sebuah database mysql, entah karena kita membuat / mengupgrade versi aplikasi kita sehingga mengharuskan kita membuat sebuah format tabel yang baru.

Contoh kasus : Aplikasi PSB (Penerimaan Siswa Baru) Online Darul Quran Mulia.

Pada versi pertamanya (yang hanya dibuat semaleman suntuk) Aplikasi PSB Online DQM ini hanya menggunakan 1 table (biodata) dalam 1 database bernama psb.

Karena sistem PSB Online versi 1 ini tidak mengharuskan calon siswa mengisi formulir langsung secara online, namun harus dengan mendownload formulir, menulis secara manual, baru dscan untuk diupload lagi ke Aplikasi PSB Online DQM versi 1 ini maka tabelnya menjadi seperti di bawah ini :
id (INT), nama (VARCHAR), nama_ortu(VARCHAR), asal_sekolah(VARCHAR), alamat(TEXT), kota(VARCHAR), tlp(VARCHAR), hp(VARCHAR), email(VARCHAR), sandi(VARCHAR), bukti(VARCHAR), form1(VARCHAR), form2(VARCHAR), form3(VARCHAR), photo(VARCHAR)
Sedangkan aplikasi PSB DQM Online versi 2 mengharuskan calon santri mengisi formulir online secara langsung sehingga diperlukan lebih banyak tabel. Untuk itu saya membuat empat (4) tabel yang masing-masing berisi detail form yang harus di isi sesuai dengan formulir pendaftaran versi manual.

Nah pada tabel1 (biodata1) terdapat kemiripan field dengan tabel (biodata) PSB Online versi 1, sehingga memungkinkan untuk mengexport data dari tabel biodata (app versi 1) ke tabel biodata1 (app versi 2). Untuk perbandingan berikut detail tabel biodata1
id (INT), nama(VARCHAR), jenkel(VARCHAR), tgll(DATE), tl(VARCHAR), kwn(VARCHAR), anakke(VARCHAR), saudarakandung(VARCHAR), saudaratiri(VARCHAR), saudaraangkat(VARCHAR), bahasa(VARCHAR), beratbdn(VARCHAR), tinggibdn(VARCHAR), goldarah(VARCHAR), historypenyakit(TEXT), alamat(TEXT), kota_asal(VARCHAR), email(VARCHAR), ponsel(VARCHAR), password(VARCHAR), rumah(VARCHAR), mendaftar(VARCHAR)
Baik, kita akan langsung mengexport data dari tabel biodata1 ke tabel biodata2. Langkah pertama, kita cari field yang sama diantara tabel tersebut, saya sudah memberi warna pink pada field yang sama di atas.

Langsung saja kita buat Query MySQLnya :
INSERT INTO biodata2 (nama, alamat, kota_asal, email, ponsel, password) SELECT nama, alamat, kota, hp, email, sandi FROM biodata1
Query MySQL berwarna biru memberi perintah insert ke tabel biodata2 yang seharusnya terdapat perintah VALUE, namun karena VALUE telah tersedia di dalam tabel biodata1 maka digantikan dengan perintah SELECT. Query di atas dapat berjalan dengan syarat, jumlah field dan jenis field harus sama di kedua tabel yang akan diexport dan mengimport data.

Untuk Script PHPnya :
$query = MYSQL_QUERY("
INSERT INTO biodata2 (nama, alamat, kota_asal, email, ponsel, password) SELECT nama, alamat, kota, hp, email, sandi FROM biodata1
");
 Sekian tutorial dari blog belajar php sederhana ini, semoga bermanfaat. :)

0 comments: