sql >> Databasteknik >  >> RDS >> Mysql

Kan du använda en MySQL-fråga för att helt skapa en kopia av databasen

Ok, efter mycket forskning, googling och läsning av allas kommentarer häri, producerade jag följande skript -- som jag nu kör från webbläsarens adressfält. Testade den och den gör precis vad jag behövde göra. Tack för allas hjälp.

<?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. Returnera id om en rad finns, INSERT annars

  2. När ska jag använda semikolon i SQL Server?

  3. Primärnyckel i SQL:Allt du behöver veta om primärnyckeloperationer

  4. Hur tar jag hänsyn till saknade xPaths och håller mina data enhetliga när jag skrapar en webbplats med DOMXPath-frågemetoden?