不建议图省事,老老实实写三条比较好。
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1A = T2A and ( T1B = T2B or T1C = T2C );
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1B = T2B and ( T1A = T2A or T1C = T2C );
insert into T2 (A,B,C) select T1A,T1B,T1C from T1 left join T2 on T1C = T2C and ( T1B = T2B or T1A = T2A );
rails 有 migrate 工具,所有数据库更改都会记录在 migration中, 可以很方便的进行数据库结构的改变。
不知道你是做什么开发的。但应该也有相类似的工具。当然,你可以用rails的migrate工具进行数据库的更改。
一次取出表一中的所有记录(6W,不多),然后用 try 往表2里插,因为表2字段是唯一的,所以中间重复数据可能有出错的地方,出错则直接抛弃,不管它
select from table1
while(each rows){
try{
insert into table2
} catch ($e){
do nothing
}
}
第一种方法(穷举法)void findSame(Type A[], TypeB[], Type C[]){ //设数组C = A + B(当然C没必要) for(int i = 0; i < Csize(); ++i) { for(int j = i + 1; j < Csize(); ++j) { compare(); } } 时间复杂度:n^2(n^2/2 - n /2);}第二种方法void findSame(Type A[], Type B[], Type C[]){ sort(A); sort(B); for(int i = 0; i < Asize(); ++i) { //先在已排序的A中找相同记录(略) //再在已排序的B中找相同记录(二分查找) } 时间复杂度nlogn(mlogm + nlogn + m + mlogn)应该比在一个数组中快,在一个数组时间复杂度:(m + n)logn + (m + n) 那为了更快,可再划分更多的小数组,使得排序的时间降下来}
哦。最简单的办法是把数据库(应该是表吧),变成文本,然后找个版本比较工具,比如Visual Strudio里带的,或者是winmerge,将两个数据表合并,合并完了后,再重新导进数据库。这个方法最好。不需要编程。
如果你通过编程的方式做,那更简单了。先一个临时表,把另一个库里的表存进来,然后用一个SELECT就搞定。
先看你的数据库有多少个字节,如果字节总数少于255最方便。新建一个数据库tttdbf,就一个字段AA,字符型,宽度254。
打开你的数据库,输入命令
copy to temp sdf
use ttt
appe from temp sdf
修改temp库结构,增加字段recn(C型,10位,用来保存记录号),sl(N型,宽度1,保存相同记录的条数),ctrl+w退出表设计器
repl all recn with str(recn(),10),sl with 1
inde on AA to 123
total on AA to 123
use 123
数据库123就是没有重复记录的新表,里面的sl是记录有相同的重复数量,recn是相同的第一条记录位于原表的记录号。
如果原来的表总宽度大于255,小于509,可以再增加一个字段AB,先按AA字段TOTAL,再按AB字段TOTAL,然后把这样形成的两个新表的记录号都到老表标出,标出的记录拷贝出来就是无完全相同记录的表了。
补充问题和这原理一样,如果a和b字段相同的话,可以用上面的办法整理出两个temp表,temp1和temp2。先把temp1的所有记录都加上删除标记,把把b中有不一样记录的恢复,余下的就是所需。
sele 2
use temp2
sele 1
use temp1
dele all
go top
do while !eof()
sele 2
loca for !aa=aaa
if !eof()
sele 1
reca
endif
sele 1
skip
enddo
pack
这样temp1中的记录号代表的原a表的记录组成的新表就是询问者所需。
以上就是关于关于mysql数据库两个表数据对比问题全部的内容,包括:关于mysql数据库两个表数据对比问题、有没有可以比对两个数据库中数据表结构异同的工具、如何快速的在Mysql数据库中的两个表比对数据并更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)