簡單示例:
創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比趙縣網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式趙縣網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋趙縣地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//鏈接數(shù)據(jù)庫
$conn = mysql_connect("localhost","root","");
//選擇要操作的數(shù)據(jù)庫
mysql_select_db('act1',$conn);
//設(shè)置操作數(shù)據(jù)庫編碼格式
mysql_query("set names utf8");
//執(zhí)行查詢操作
$re= mysql_query("select user_name,phone from user");
//申明空數(shù)組,以便裝數(shù)據(jù)
$records=array();
//循環(huán)將數(shù)據(jù)裝入數(shù)組中
while($row=@mysql_fetch_row($re)){
$records[]=$row;
}
//選擇要導(dǎo)入的數(shù)據(jù)庫
mysql_select_db('act2',$conn);
//設(shè)置操作數(shù)據(jù)庫編碼格式
mysql_query("set names utf8");
//構(gòu)造插入sql語句
$sql2="INSERT INTO user(user_name,phone) VALUES";
//循環(huán)記錄集,插入新數(shù)據(jù)庫的表中
foreach ($records as $ite){
//構(gòu)造插入值字符串
$valuestr = "'".$ite[0]."',"."'".$ite[1]."'";
//給字符串最外邊拼接括號
$sql2 .= "(".$valuestr."),";
}
//去除構(gòu)造sql語句最后的逗號
$sql2 = substr($sql2,0,-1);
//執(zhí)行插入操作
mysql_query($sql2);
//關(guān)閉mysql鏈接
mysql_close();
?
數(shù)據(jù)庫act1 user表數(shù)據(jù):
插入到數(shù)據(jù)庫act2 ?user表數(shù)據(jù)如下:
使用程序無法實(shí)現(xiàn)這種功能,因?yàn)闊o法保證事務(wù)的一致性,比如:A數(shù)據(jù)庫中的a表復(fù)制到B數(shù)據(jù)庫中的a表的過程中,A數(shù)據(jù)庫中的a表的一條記錄被刪除,這樣就無法實(shí)現(xiàn)數(shù)據(jù)的一致性!正確的做法是使用MySQL復(fù)制的功能!很簡單,只需要幾步配置即可!
你可以先創(chuàng)建一個
臨時表
到的數(shù)據(jù)保存到臨時表中,然后將臨時表總的數(shù)據(jù)自動生成的
sql語句
,(需要小小的修改,保留insert插入語句),在另一個數(shù)據(jù)庫中執(zhí)行插入,不就行啦?select
列名insert
into
臨時表名
from
原始表名
一行行的導(dǎo)也太麻煩了
如果表結(jié)構(gòu)完全一樣,直接執(zhí)行一下insert into bb.table select * from aa.table where ..就可以了,如果只想保存某些信息那么insert into bb.table (column1,column2,...) select column1,column2,.. from aa.table where ..
你也可以從通過操作數(shù)據(jù)庫
mysqldump -u xxx -p xxx aa table dir/aatable.sql
然后
mysqluse bb;
mysqlsource dir/aatable.sql
如果mysql服務(wù)器是你的而你的網(wǎng)站不在服務(wù)器里你可以把擁有這數(shù)據(jù)庫權(quán)限的用戶設(shè)置遠(yuǎn)程權(quán)限,
在mysql命令如下:grant all no *.* to 用戶名@"遠(yuǎn)程的IP地址" identified by "數(shù)據(jù)庫密碼" with grant option;
SQL SELECT INTO 語句可用于創(chuàng)建表的備份復(fù)件
SELECT INTO 語句
SELECT INTO 語句從一個表中選取數(shù)據(jù),然后把數(shù)據(jù)插入另一個表中。
SELECT INTO 語句常用于創(chuàng)建表的備份復(fù)件或者用于對記錄進(jìn)行存檔
語法
可以把所有的列插入新表:
SELECT?*
INTO?new_table_name?[IN?externaldatabase]?
FROM?old_tablename?--或者只把希望的列插入新表:
SELECT?column_name(s)
INTO?new_table_name?[IN?externaldatabase]?
FROM?old_tablename
注:如果新表存在,新表與舊表列最好是一致的,不然最好是選擇對應(yīng)的列插入