php操作mysql两个数据库中表的数据同步
来源:互联网 发布:男款汉服款式知乎 编辑:程序博客网 时间:2024/05/01 14:19
题记: 我们开发当中经常会遇到,数据同步。比如将teaching数据库中area表的数据同步到study数据库中zone表中。
备注:这两个数据库不同,数据表名字也不同,但数据表的结构相同。不同表结构导入原理是一致的,在【另注】有介绍。如下图所示:
teaching数据库area表结构:
study数据库zone表结构:
下面演示:给teaching数据库area表添加几条数据,然后用php操作,导入到study数据库中的zone表中。添加的数据如图所示:
准备完成后开始php编码:
//建立数据库连接,localhost为主机名,root即mysql用户登录名,我这里的mysql登录密码为空。
$conn = mysql_connect("localhost","root","");
//由于是将teaching数据库中area表的数据同步到study数据库中zone表,所以这里选择连接的数据库为:study
mysql_select_db("study");
清空study数据库zone表的内容,以便和导入的teaching数据库中area的数据一致。
$delSql="delete from `zone`";
$rel_del= @mysql_query($delSql);
//导入操作。
$sql="insert into study.zone(`id`, `areaID`, `area`, `father`) select `id`, `areaID`, `area`, `father` from teaching.area "; $result= mysql_query($sql);if($result){echo "<font color='green' >恭喜您,数据同步成功!</font>";
}else{ echo "<font color='red' >数据同步出错,请检查!</font>";
}
代码编写完毕后保存,我们这里就随便起个名字,就命名为31.php。如下图所示:
然后运行31.php测试,提示“恭喜您,数据同步成功!”;如图所示:
然后我们对比发现连个数据库中数据表的数据完全一致。数据同步成功:效果如下图所示:
另注:不同数据库,不同数据表结构之间的数据同步原理和这个相同,保持插入时字段位置对应好即可。
下面将这次演示的代码及数据库脚本全粘贴出来方便大家测试和学习。
<-------------------------------------------------------SQL脚本开始---------------------------------------------------->
create database teaching;
CREATE TABLE `area` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`areaID` varchar(50) CHARACTER SET gb2312 DEFAULT NULL,
`area` varchar(60) CHARACTER SET gb2312 DEFAULT NULL,
`father` varchar(6) CHARACTER SET gb2312 DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3187 ;
INSERT INTO `area` (`id`, `areaID`, `area`, `father`) VALUES
(2759, '610101', '市辖区', '610100'),(2760, '610102', '新城区', '610100'),
(2761, '610103', '碑林区', '610100'),(2762, '610104', '莲湖区', '610100'),
(2763, '610111', '灞桥区', '610100'),(2764, '610112', '未央区', '610100'),
(2765, '610113', '雁塔区', '610100'),(2766, '610114', '阎良区', '610100'),
(2767, '610115', '临潼区', '610100'),(2768, '610116', '长安区', '610100'),
(2769, '610122', '蓝田县', '610100');
create database study;
CREATE TABLE `zone` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`areaID` varchar(50) CHARACTER SET gb2312 DEFAULT NULL,
`area` varchar(60) CHARACTER SET gb2312 DEFAULT NULL,
`father` varchar(6) CHARACTER SET gb2312 DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3187 ;
<-------------------------------------------------------SQL脚本结束---------------------------------------------------->
<------------------------------------------------------php测试代码开始------------------------------------------------>
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("study");
$delSql="delete from `zone`";
$rel_del= @mysql_query($delSql);
$sql="insert into study.zone(`id`, `areaID`, `area`, `father`) select `id`, `areaID`, `area`, `father` from teaching.area ";
$result= mysql_query($sql);
if($result){
echo "<font color='green' >恭喜您,数据同步成功!</font>";
}else{
echo "<font color='red' >数据同步出错,请检查!</font>";
}
?>
<------------------------------------------------------php测试代码结束------------------------------------------------>
- php操作mysql两个数据库中表的数据同步
- MYSQL---数据库中表的操作
- 对数据库中表的数据的操作
- mysql数据库中表属性的操作
- 数据库中表的操作
- MySQL中表的操作
- MYSQL比较两个数据库中表和字段的差异
- 数据库中表的move操作
- 数据库中表的基本操作
- 数据库中表的相关操作
- 数据库中表的简单操作
- python数据库中表的操作
- mysql中表的基本操作
- mysql 两个数据库之间的同步
- 实现两个数据库之间的数据同步
- 实现两个Mysql数据库同步
- 实现两个Mysql数据库同步
- 实现两个mysql数据库同步
- sahi自动化测试_1
- android图像处理系列之三--图片色调饱和度、色相、亮度处理
- 正被停用的激活上下文不是最近激活的
- (Relax 1.2)POJ 1528 Perfection(求一个数各个因子之和)
- WinCE6过试用期 Error: failed PB timebomb check
- php操作mysql两个数据库中表的数据同步
- nodejs处理图片文件上传
- 在MyEclipse下修改tomcat默认的运行方式
- 请教电源切换电路,直流输入和锂电池之间切换如何设计最好。另请推荐2节锂电池的充电
- FILE I/O
- Microsoft Office Excel 不能访问文件
- Java集合框架比较
- FlexBuilder4.6创建手机项目之调用手机摄像头
- android图片特效处理之图片叠加