导出结构和数据(如PhpMyAdmin)

时间:2009-11-12 16:43:38

标签: php mysql export phpmyadmin

我想使用PHP从MySQL数据库导出数据和结构。我知道SELECT INTO OUTFILE命令,但我希望文件类似于PhpMyAdmin在导出窗口中生成的文件,所以CREATE TABLEINSERT INTO

你知道PhpMyAdmn如何生成这些文件吗?我正在浏览代码,我在其中找到了命令SELECT INTO OUTFILE。但是我不确定这个命令是用来生成那个结构的。是否有其他命令可以执行此操作,或者使用有关表模式的信息手动创建导出的文件?

3 个答案:

答案 0 :(得分:7)

您可以使用SHOW CREATE TABLE执行此操作。

答案 1 :(得分:4)

我已经制作了一个PHP脚本来备份mysql表(只有数据)。这会将mysql数据导出到一个与phpmyadmin import

完全兼容的sql文件

可能这可以帮到你

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

答案 2 :(得分:2)

在这里你可以找到一个全面的解决方案来转储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);

?>

就像一个魅力: - )