我有一个名为A的mysql数据库。
我想获取country = usa的信息(美国大约有40 000个),我想插入B数据库。
我怎么能用PHP做到这一点?
提前致谢
答案 0 :(得分:2)
是的,您可以使用PHP缓慢执行此操作:
<?php
$data = mysql_query("SELECT x,y,z FROM db1.table WHERE where country='usa'");
$values = Array();
while ($row = mysql_fetch_assoc($data)) {
// do some work...
$row['x'] = mysql_real_escape_string($row['x']);
$row['y'] = mysql_real_escape_string($row['y']);
$row['z'] = mysql_real_escape_string($row['z']);
$values[] = "('$row[x]','$row[y]','$row[z]')";
}
mysql_query("insert into db2.table (x,y,z) VALUES ".implode(',',$values)."");
?>
但我更喜欢更快更简单的MySQL INSERT ... SELECT语句,直接在MySQL控制台中:
INSERT INTO db2.table (x,y,z) SELECT x,y,z FROM db1.table WHERE country='usa';
答案 1 :(得分:0)
<?php
$query = "SELECT * FROM database1.table_name WHERE country = 'USA'";
$result2 = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
//assigning of value to variable
$val1 = $row['field_name1'];
$val2 = $row['filed_name2'];
//and so on
$query2 = "INSERT INTO database2.table_name (field1,field2,.....) VALUES ('$val1', 'val2',....)"
$result2 = mysql_query($query2);
}
?>
答案 2 :(得分:0)
您应该能够将数据库模式和数据转储为大型SQL文件,并在不同的数据库上运行该SQL ...如果您有phpMyAdmin,则根本不需要PHP脚本。只需使用主数据库屏幕上的操作选项卡即可。在源上导出数据库,将其导入目标。