Anda dapat memeriksa kode sumber phpMyAdmin (keuntungan dari perangkat lunak sumber terbuka). Periksa skrip export.php dan fungsi pendukungnya di file skrip libraries/export/sql.php.
Singkatnya, apa yang dilakukan phpMyAdmin adalah:
- dapatkan daftar tabel dalam database yang diberikan (TAMPILKAN TABEL DARI...),
- dapatkan kueri buat untuk setiap tabel (SHOW CREATE TABLE...),
- parsing dan ekstrak definisi kolom darinya,
- dapatkan semua data (PILIH * DARI...)
- buat kueri berdasarkan data kolom.
Saya telah menulis kode serupa untuk aplikasi saya sendiri (untuk tujuan pencadangan, ketika lisensi GPL phpMyAdmin tidak mengizinkan saya untuk menggunakannya), namun saya menggunakan DESCRIBE untuk mendapatkan definisi kolom. Saya pikir mereka lebih suka mengurai output SHOW CREATE TABLE karena berisi lebih banyak informasi daripada output DESCRIBE.
Cara untuk menghasilkan kalimat SQL ini memerlukan sedikit perawatan untuk menangani pelolosan tetapi memungkinkan beberapa fleksibilitas, karena Anda dapat mengonversi jenis, memfilter atau membersihkan data, dll. Ini juga jauh lebih lambat daripada menggunakan alat seperti mysqldump dan Anda harus melakukannya berhati-hatilah agar tidak menghabiskan semua memori yang tersedia (segera tulis, sering menulis, jangan simpan semuanya di memori).
Jika Anda akan menerapkan proses migrasi (dari server ke server) mungkin akan lebih mudah untuk melakukannya dengan beberapa skrip shell dan memanggil mysqldump secara langsung, kecuali jika Anda akan melakukan semuanya dengan PHP.