PHPを使用してデータベースをSQLファイルにダンプする方法

PHPz
リリース: 2023-04-06 11:42:02
オリジナル
847 人が閲覧しました

PHP 開発プロセス中、データベースのバックアップが必要になることがよくありますが、データベースをリモート サーバーまたはローカル ディスクにバックアップするときは、通常、データベースを SQL ファイルにダンプします。 SQL ファイルは、元の SQL クエリ ステートメントを含むテキスト ファイルであり、データベース全体またはデータベースの一部を復元または複製するために使用できます。この記事では、PHP を使用してデータベースを SQL ファイルにダンプする方法を紹介します。

ステップ 1: データベース接続を確立する

PHP でデータベースに接続するには、mysqli または PDO を使用する必要があります。この記事では、mysqli を例として取り上げます。まず、データベースへの接続を確立し、データベース内のテーブルやその他の情報を取得する必要があります。

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "myDB";
 
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
ログイン後にコピー

ステップ 2: データベース内のテーブルを取得する

次に、SQL クエリ ステートメントを使用して、データベース内のすべてのテーブル名を取得する必要があります。 SHOW TABLES を使用して、データベース内のテーブルのリストを取得します。クエリは、「Tables_in_databaseName」という名前の結果セットを返します。

<?php
$sql = "SHOW TABLES";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
    // 输出每个表的名称
    while($row = $result->fetch_assoc()) {
        echo $row["Tables_in_myDB"]. "<br>";
    }
} else {
    echo "0 个结果";
}
ログイン後にコピー

ステップ 3: データベース内のテーブルを SQL にダンプする

データベース内のテーブルを取得したので、mysqldump コマンドを使用してテーブルをダンプできます。 SQL ファイル。 mysqldump は、MySQL データベースまたはテーブルをバックアップまたはダンプする SQL ステートメントを出力できる MySQL 用のコマンド ライン ツールです。

これは、PHP を使用して mysqldump コマンドを実行し、データベース全体を SQL ファイルにエクスポートするサンプル コードです:

<?php
$command = "mysqldump --user={$username} --password={$password} --host={$servername} {$dbname} > {$dbname}.sql";
exec($command);
ログイン後にコピー

上記のコードでは、 # を使用します。 ##exec 関数は、mysqldump コマンドをコマンド ラインに渡します。このコマンドは、データベースを「databaseName.sql」という名前のファイルにダンプします。入力とは対照的に、出力では「>」記号が使用されることに注意してください。

データベース内の 1 つのテーブルのみを SQL ファイルにダンプする必要がある場合は、次のコードを使用できます。

<?php
$command = "mysqldump --user={$username} --password={$password} --host={$servername} {$dbname} {$tableName} > {$tableName}.sql";
exec($command);
ログイン後にコピー
上記のコードでは、ダンプするテーブルの名前のみが必要です。それをコマンド

mysqldump に渡すだけです。

ステップ 4: データベース接続を閉じる

データ ダンプが完了したら、データベースとの間に確立された接続を閉じる必要があります。接続は、

mysqliclose 関数を通じて閉じることができます。

<?php
$conn->close();
ログイン後にコピー
結論

上記の手順により、データベース全体または特定のテーブルを SQL ファイルにダンプできます。これにより、データベースをあるサーバーから別のサーバーに簡単に移行できると同時に、データベースのバックアップと復元の際に便利なツールが提供されます。

以上がPHPを使用してデータベースをSQLファイルにダンプする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!