sql >> Database >  >> RDS >> Mysql

Kun je een MySQL-query gebruiken om een ​​volledige kopie van de database te maken?

Oké, na veel onderzoek, googlen en het lezen van ieders opmerkingen hierin, heb ik het volgende script geproduceerd -- dat ik nu vanuit de adresbalk van de browser voer. Heb hem getest en hij doet precies wat ik hem nodig had. Bedankt voor de hulp van iedereen.

<?php
function duplicateTables($sourceDB=NULL, $targetDB=NULL) {
    $link = mysql_connect('{server}', '{username}', '{password}') or die(mysql_error()); // connect to database
    $result = mysql_query('SHOW TABLES FROM ' . $sourceDB) or die(mysql_error());
    while($row = mysql_fetch_row($result)) {
        mysql_query('DROP TABLE IF EXISTS `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('CREATE TABLE `' . $targetDB . '`.`' . $row[0] . '` LIKE `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('INSERT INTO `' . $targetDB . '`.`' . $row[0] . '` SELECT * FROM `' . $sourceDB . '`.`' . $row[0] . '`') or die(mysql_error());
        mysql_query('OPTIMIZE TABLE `' . $targetDB . '`.`' . $row[0] . '`') or die(mysql_error());
    }
    mysql_free_result($result);
    mysql_close($link);
} // end duplicateTables()
duplicateTables('liveDB', 'testDB');
?>


  1. SQL Server Prestaties TOP IO Query -1

  2. Hoe kleine letters naar hoofdletters te converteren in SQL Server - UPPER()

  3. Facebook Registratie Verbinden

  4. De gebruikte SELECT-instructies hebben een ander aantal kolommen