将 mysql 数据库表导出到 php 代码以在其他数据库中创建相同的表?

将 mysql 数据库表导出到 php 代码以在其他数据库中创建相同的表?

如何将 mysql 数据库表导出到 php 代码,以便允许我在其他数据库中创建和填充相同的表?

我有一个本地数据库,我将其导出为 sql 语法,然后我得到类似这样的内容:

CREATE TABLE `boletinSuscritos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(120) NOT NULL,
  `email` varchar(120) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

INSERT INTO `boletinSuscritos` VALUES(1, 'walter', '[email protected]', '2010-03-24 12:53:12');
INSERT INTO `boletinSuscritos` VALUES(2, 'Paco', '[email protected]', '2010-03-24 12:56:56');

但我需要它是:(有没有办法以这种方式导出表格)

$sql = "CREATE TABLE  boletinSuscritos  (
   id  int(11) NOT NULL AUTO_INCREMENT,
   name  varchar(120) NOT NULL,
   email  varchar(120) NOT NULL,
   date  timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY ( id )
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 )";

mysql_query($sql,$conexion);

 mysql_query("INSERT INTO boletinSuscritos  VALUES(1, 'walter', '[email protected]', '2010-03-24 12:53:12')");
 mysql_query("INSERT INTO boletinSuscritos  VALUES(2, 'Paco', '[email protected]', '2010-03-24 12:56:56')");

答案1

您可以使用以下命令将数据库导出到文件:

  • mysqldump -u 用户名 -p 密码 数据库名称 > dump.sql

如果您只想转储数据库的结构:

  • mysqldump -u 用户名 -p 密码 –no-data 数据库名称 > dump.sql

然后您可以使用类似的命令导入数据库:

  • mysql -u 用户名 -p 密码 数据库名称 < dump.sql

因为您想从 php 内部执行此操作,所以您可以执行以下操作:

$result = 0;
$command = "mysqldump -u username -p password dbname > dump.sql";
exec($command,$output=array(),$result);
if($result) echo "yay, this has worked.\n";

你可以通过弄清楚如何找到更多的例子PHPMyAdmin是否MySQL 的加载数据功能。

相关内容