Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk menggunakan PHP untuk pemindahan data MySQL?

Bagaimana untuk menggunakan PHP untuk pemindahan data MySQL?

WBOY
WBOYasal
2024-06-01 12:00:58367semak imbas

Panduan Migrasi Data MySQL PHP: Mewujudkan sambungan ke pangkalan data sumber dan sasaran. Ekstrak data daripada pangkalan data sumber. Buat struktur dalam pangkalan data sasaran yang sepadan dengan jadual sumber. Pindahkan data daripada pangkalan data sumber ke pangkalan data sasaran baris demi baris menggunakan sisipan baris demi baris.

如何使用 PHP 进行 MySQL 数据迁移?

Cara menggunakan PHP untuk pemindahan data MySQL

Pengenalan

Penghijrahan data ialah tugas penting untuk memindahkan data dari satu sistem ke sistem yang lain. Apabila membangunkan aplikasi, selalunya perlu untuk memindahkan data daripada persekitaran ujian kepada persekitaran pengeluaran. Artikel ini akan membimbing anda tentang cara menggunakan PHP untuk pemindahan data MySQL. . Dapatkan data yang perlu dipindahkan daripada pangkalan data sumber:

$sourceConn = new mysqli("localhost", "sourceuser", "sourcepass", "sourcedb");
$targetConn = new mysqli("localhost", "targetuser", "targetpass", "targetdb");

3 Sediakan jadual sasaran

Dalam pangkalan data sasaran, buat jadual sasaran dan padankan struktur jadual sumber:

$result = $sourceConn->query("SELECT * FROM `source_table`");
.

4. Masukkan data baris demi baris

Gelung Lelaran pada hasil pertanyaan sumber dan masukkan data ke dalam jadual sasaran baris demi baris:

$targetConn->query("CREATE TABLE IF NOT EXISTS `target_table` LIKE `source_table`");

Kes praktikal

mysqli_query() 从源数据库获取需要迁移的数据:

while ($row = $result->fetch_assoc()) {
    $insertQuery = "INSERT INTO `target_table` SET ";
    foreach ($row as $field => $value) {
        $insertQuery .= "`$field` = '$value', ";
    }
    $insertQuery = substr($insertQuery, 0, -2);
    $targetConn->query($insertQuery);
}

3. 准备目标表

在目标数据库中,创建目标表并匹配源表的结构:

$sourceConn = new mysqli("localhost", "devuser", "devpass", "development");
$targetConn = new mysqli("localhost", "produser", "prodpass", "production");
$result = $sourceConn->query("SELECT * FROM `users`");
$targetConn->query("CREATE TABLE IF NOT EXISTS `users` LIKE `users`");

while ($row = $result->fetch_assoc()) {
    $insertQuery = "INSERT INTO `users` SET 
        `id` = '{$row['id']}',
        `name` = '{$row['name']}',
        `email` = '{$row['email']}'";
    $targetConn->query($insertQuery);
}

4. 逐行插入数据

循环遍历源查询结果,并逐行将数据插入到目标表中:

rrreee

实战案例

例如,要将 users 表从 development 数据库迁移到 production

Sebagai contoh, untuk memindahkan daripada pangkalan data development ke pangkalan data production, anda boleh menjalankan kod PHP berikut: 🎜rrreee

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk pemindahan data MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn