Экспортировать структуру и данные (как в PhpMyAdmin)
-
19-09-2019 - |
Вопрос
Я хочу экспортировать данные и структуру из базы данных MySQL с помощью PHP.я знаю о SELECT INTO OUTFILE
но я хочу, чтобы файл был похож на тот, который создается PhpMyAdmin в окне экспорта, поэтому все CREATE TABLE
и INSERT INTO
.
Знаете ли вы, как PhpMyAdmn генерирует эти файлы?Я просматривал код и нашел команду SELECT INTO OUTFILE
в этом.Но я не уверен, что эта команда используется для создания этой структуры.Есть ли другая команда для этого или экспортированный файл создается вручную с использованием информации о схеме таблиц?
Решение
Вы можете сделать это, используя ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ.
Другие советы
Я создал PHP-скрипт для резервного копирования таблиц MySQL (только данные).это экспортирует данные mysql в файл sql, который полностью совместим с импортом phpmyadmin.
может быть это поможет вам
Скрипт резервного копирования данных mysql на php:http://dl.dropbox.com/u/18434517/mysql_backup.php
Здесь вы можете найти комплексное решение для дампа структуры и данных 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);
?>
работает как шарм :-)