如何将现有MySQL数据库的表复制到没有记录的新数据库


How to copy the tables of an existing MySQL database to a new database without the records?

我是MySQL的新手。现在,我正在尝试在新的虚拟主机中使用SQL数据库复制已经存在的PHP网站。我希望创建一个与旧网站数据库结构相同的新SQL数据库,并将新的PHP网站与新数据库连接起来。

我已经知道如何将PHP文件与数据库连接,但我不知道如何将数据库表复制到另一个数据库表。

你想使用像phpMyAdmin这样的实用程序直接复制数据库。您不希望使用 PHP 以编程方式执行此操作。看看这个。

如果你想在

不使用phpMyAdmin等工具的情况下做到这一点,你可以使用SHOW TABLES;SHOW CREATE TABLE table_name;查询来迭代你想要复制的数据库。所以如果你把它放到PHP脚本中,你会得到这样的结果:

<?php 
$host_name = "localhost";
$user_name = "xfiddlec_user";
$pass_word = "public";
$database_name = "xfiddlec_max";
$port = "3306";
$first_connect = new mysqli($host_name, $user_name, $pass_word, $database_name, $port);
//$second_connect = new mysqli($host_name2, $user_name2, $pass_word2, $database_name2, $port2);
$sql = "SHOW TABLES";
$result = $first_connect->query($sql);
if (($result) && ($result->num_rows > 0))
{
//convert query result into an associative array
while ($row = $result->fetch_row())
{
    $sql2 = "SHOW CREATE TABLE {$row[0]}";
    $res = $first_connect->query($sql2)->fetch_row();
    //echo "<pre>"; print_r($res); echo "</pre>";
    $createSQL = $res[1];
    $second_connect->query($createSQL);
    echo $createSQL;
}

}

我已经评论了一些部分,以便您可以在这里尝试在 PHP Fiddle 上。但是,如果可以的话,最好使用一些工具。:)