代码之家  ›  专栏  ›  技术社区  ›  Lukasz Lysik

导出结构和数据(如phpmyadmin)

  •  6
  • Lukasz Lysik  · 技术社区  · 16 年前

    我想使用PHP从MySQL数据库导出数据和结构。我知道 SELECT INTO OUTFILE 命令,但是我希望在导出窗口中有与phpmyadmin生成的文件类似的文件,因此 CREATE TABLE INSERT INTO .

    你知道phpmyadmn是如何生成这些文件的吗?我浏览了代码,找到了命令 选择到输出文件 在里面。但我不确定该命令是否用于生成该结构。是否有其他命令执行此操作,或者使用有关表模式的信息手动创建导出的文件?

    3 回复  |  直到 12 年前
        1
  •  7
  •   candiru    16 年前

    你可以用 SHOW CREATE TABLE .

        2
  •  4
  •   KTYP    14 年前

    我编写了一个PHP脚本来备份MySQL表(仅限数据)。这将把mysql数据导出到与phpmyadmin导入完全兼容的SQL文件中。

    可能这对你有帮助

    mysql data backup script in php: http://dl.dropbox.com/u/18434517/mysql_backup.php

        3
  •  2
  •   ANTARA    12 年前

    在这里,您可以找到一个全面的解决方案来转储MySQL结构和数据,比如在PMA中(不使用exec、passthru等):

    https://github.com/antarasi/MySQL-Dump-with-Foreign-keys

    它是Dszymczuk项目的一个分支,有我的增强功能。

    用法很简单

    <?php
    //MySQL connection parameters
    $dbhost = 'localhost';
    $dbuser = 'dbuser';
    $dbpsw = 'pass';
    $dbname = 'dbname';
    
    //Connects to mysql server
    $connessione = @mysql_connect($dbhost,$dbuser,$dbpsw);
    
    //Set encoding
    mysql_query("SET CHARSET utf8");
    mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
    
    //Includes class
    require_once('FKMySQLDump.php');
    
    
    //Creates a new instance of FKMySQLDump: it exports without compress and base-16 file
    $dumper = new FKMySQLDump($dbname,'fk_dump.sql',false,false);
    
    $params = array(
        //'skip_structure' => TRUE,
        //'skip_data' => TRUE,
    );
    
    //Make dump
    $dumper->doFKDump($params);
    
    ?>
    

    像魅力一样工作:—)