服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - mysql数据库差异比较的PHP代码

mysql数据库差异比较的PHP代码

2019-12-24 15:05PHP教程网 PHP教程

这天遇见个需求:由于升级系统 这些系统从A库升级到B库,但是不知道数据库添加了哪些字段和增加了哪些表

当然可以去PHPMYADMIN里浏览一下。但是终究有遗漏吧。所以自己写了个,比较数据库差异的脚本(PHP的),方便一下自己。当然代码很简单,就不讲解了,贴代码: 

复制代码代码如下:


<? 
mysql_connect('localhost','root','root'); 
mysql_select_db('tablea'); //标准的数据库 
$q = mysql_query("show tables"); 
while($s = mysql_fetch_array($q)){ 
$name = $s[0]; 
$q1 = mysql_query("desc $name"); 
while ($s1 = mysql_fetch_array($q1)) { 
$a[$name][] =$s1[0]; 


mysql_close(); 
mysql_connect('localhost','root','root'); 
mysql_select_db('tableb');//需要比较的数据库 
$q2 = mysql_query("show tables"); 
while($s2 = mysql_fetch_array($q2)){ 
$name2= $s2[0]; 
$q3 = mysql_query("desc $name2"); 
while ($s3 = mysql_fetch_array($q3)) { 
$aa[$name2][] =$s3[0]; 


mysql_close(); 
$f = $e = array(); 
$str = $fuhao =''; 
foreach($a as $k=>$v){ 
if(!is_array($aa[$k])){ 
$e[] = $k; 

else{ 
if(count($aa[$k]) <> count($v)){ 
foreach($v as $k1=>$v1){ 
if(!in_array($v1,$aa[$k])){ 
$f[$k][] = $v1; 





echo "<pre>"; 
print_r($e);//缺少表 
print_r($f);//缺少表的字段 
?> 

延伸 · 阅读

精彩推荐