使用php将一些信息从一个数据库传输到另一个数据库?

时间:2012-03-26 06:13:14

标签: php mysql

我有一个名为A的mysql数据库。

我想获取country = usa的信息(美国大约有40 000个),我想插入B数据库。

我怎么能用PHP做到这一点?

提前致谢

3 个答案:

答案 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脚本。只需使用主数据库屏幕上的操作选项卡即可。在源上导出数据库,将其导入目标。