How to use PHP for MySQL data migration?

WBOY
Release: 2024-06-01 12:00:58
Original
338 people have browsed it

PHP MySQL Data Migration Guide: Establishing connections to source and target databases. Extract data from the source database. Create a structure in the target database that matches the source table. Migrate data from the source database to the target database row by row using row-by-row insert.

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

How to use PHP for MySQL data migration

Introduction

Data migration is The important task of moving data from one system to another. When developing applications, it is often necessary to migrate data from a test environment to a production environment. This article will guide you on how to use PHP for MySQL data migration.

Steps

1. Establish a connection

First, you need to connect to the source database and target database:

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

2. Get the source data

Use mysqli_query() to get the data that needs to be migrated from the source database:

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

3. Prepare the target table

In the target database, create the target table and match the structure of the source table:

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

4. Insert data row by row

Loop through the source query results and insert data into the target table row by row:

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);
}
Copy after login

Practical case

For example, to users To migrate tables from development database to production database, you can run the following PHP code:

$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);
}
Copy after login

The above is the detailed content of How to use PHP for MySQL data migration?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template