6

我想使用 PHP 从 MySQL 数据库中导出数据和结构。我知道SELECT INTO OUTFILE命令,但我想拥有像在导出窗口中由 PhpMyAdmin 生成的文件一样的文件,所以所有CREATE TABLEINSERT INTO.

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

4

3 回答 3

7

您可以使用SHOW CREATE TABLE来做到这一点。

于 2009-11-12T16:46:59.507 回答
4

我制作了一个 php 脚本来备份 mysql 表(仅数据)。这会将 mysql 数据导出到与 phpmyadmin 导入完全兼容的 sql 文件

可能这可以帮助你

php中的mysql数据备份脚本:http://dl.dropbox.com/u/18434517/mysql_backup.php

于 2012-03-06T20:30:40.260 回答
1

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

?>

奇迹般有效 :-)

于 2014-03-21T14:44:14.963 回答