如何将 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 的加载数据功能。