PHP MySQL 데이터 마이그레이션 가이드: 소스 및 대상 데이터베이스에 대한 연결 설정. 소스 데이터베이스에서 데이터를 추출합니다. 원본 테이블과 일치하는 대상 데이터베이스에 구조를 만듭니다. 행별 삽입을 사용하여 원본 데이터베이스에서 대상 데이터베이스로 행별로 데이터를 마이그레이션합니다.
MySQL 데이터 마이그레이션에 PHP를 사용하는 방법
소개
데이터 마이그레이션은 한 시스템에서 다른 시스템으로 데이터를 전송하는 중요한 작업입니다. 애플리케이션을 개발할 때 테스트 환경에서 프로덕션 환경으로 데이터를 마이그레이션해야 하는 경우가 많습니다. 이 문서에서는 MySQL 데이터 마이그레이션에 PHP를 사용하는 방법을 안내합니다.
단계
1. 연결을 설정합니다
먼저 소스 데이터베이스와 대상 데이터베이스에 연결해야 합니다:
$sourceConn = new mysqli("localhost", "sourceuser", "sourcepass", "sourcedb"); $targetConn = new mysqli("localhost", "targetuser", "targetpass", "targetdb");
2 소스 데이터 가져오기
mysqli_query()를 사용하세요.
원본 데이터베이스에서 마이그레이션해야 하는 데이터 가져오기: mysqli_query()
从源数据库获取需要迁移的数据:
$result = $sourceConn->query("SELECT * FROM `source_table`");
3. 准备目标表
在目标数据库中,创建目标表并匹配源表的结构:
$targetConn->query("CREATE TABLE IF NOT EXISTS `target_table` LIKE `source_table`");
4. 逐行插入数据
循环遍历源查询结果,并逐行将数据插入到目标表中:
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); }
实战案例
例如,要将 users
表从 development
数据库迁移到 production
$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); }🎜3. 대상 테이블 준비🎜🎜🎜 대상 데이터베이스에서 대상 테이블을 만들고 원본 테이블의 구조와 일치시킵니다. 🎜rrreee 🎜🎜4. 행별로 데이터 삽입🎜🎜🎜Loop 원본 쿼리 결과를 반복하고 대상 테이블에 행별로 데이터를 삽입합니다. 🎜rrreee🎜🎜실제 사례🎜🎜🎜예를 들어
사용자 테이블을 <code>development
데이터베이스에서 production 데이터베이스로 이동하려면 다음 PHP 코드를 실행할 수 있습니다. 🎜rrreee위 내용은 MySQL 데이터 마이그레이션에 PHP를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!