(php)mysql如何把一个数据库里的表导入另一个数据库
连接好数据库然后mysql_connect(...)
query(select * from ...)......
while(mysql_fetch_array($result)){
select_db(bb)
mysql_query(insert into....)
}
就是在while循环里选择别的数据库然后插入数据可行吗
最常用啥方便的方法呢? 展开
简单示例:
<?php
//设置编码格式
header("Content-type:text/html;charset=utf-8");
//链接数据库
$conn = mysql_connect("localhost","root","");
//选择要操作的数据库
mysql_select_db('act1',$conn);
//设置操作数据库编码格式
mysql_query("set names utf8");
//执行查询操作
$re= mysql_query("select user_name,phone from user");
//申明空数组,以便装数据
$records=array();
//循环将数据装入数组中
while($row=@mysql_fetch_row($re)){
$records[]=$row;
}
//选择要导入的数据库
mysql_select_db('act2',$conn);
//设置操作数据库编码格式
mysql_query("set names utf8");
//构造插入sql语句
$sql2="INSERT INTO user(user_name,phone) VALUES";
//循环记录集,插入新数据库的表中
foreach ($records as $ite){
//构造插入值字符串
$valuestr = "'".$ite[0]."',"."'".$ite[1]."'";
//给字符串最外边拼接括号
$sql2 .= "(".$valuestr."),";
}
//去除构造sql语句最后的逗号
$sql2 = substr($sql2,0,-1);
//执行插入操作
mysql_query($sql2);
//关闭mysql链接
mysql_close();
?>
数据库act1 user表数据:
插入到数据库act2 user表数据如下:
如果表结构完全一样,直接执行一下insert into bb.table select * from aa.table where ..就可以了,如果只想保存某些信息那么insert into bb.table (column1,column2,...) select column1,column2,.. from aa.table where ..
你也可以从通过操作数据库
mysqldump -u xxx -p xxx aa table >dir/aatable.sql
然后
mysql>use bb;
mysql>source dir/aatable.sql