兩個(gè)組里面內(nèi)容肯定不一樣啊,否則就分到同一個(gè)組了呀。
成都創(chuàng)新互聯(lián)公司從2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元黃石做網(wǎng)站,已為上家服務(wù),為黃石各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
請把問題說得更具體一些,表名稱,列名稱,相對哪些列的內(nèi)容進(jìn)行比較(肯定不能是所有的列,否則就分到同一組了)。
先把每個(gè)庫的表結(jié)構(gòu)導(dǎo)出到文件,然后比較這兩個(gè)文件。
mysqldump --skip-comments --skip-extended-insert -u root -p database1file1.sql
mysqldump --skip-comments --skip-extended-insert -u root -p database2file2.sql
diff file1.sql file2.sql
其實(shí)還有一些比較工具,推薦一個(gè)
mysql-comparison-tools
如何比較2個(gè)mysql數(shù)據(jù)庫數(shù)據(jù)
sql語句:因?yàn)镸ySQL 沒有full outer join,所以用left join union all right join來實(shí)現(xiàn)
select a.table_schema,
a.table_name,
a.column_name,
b.table_schema,
b.table_name,
b.column_name
from information_schema.columns a
left join information_schema.columns b on a.table_name = b.table_name and a.column_name =
b.column_name and b.table_schema = 'DBNAMe1'
where a.table_schema = 'DBNAME2' and
(b.table_name is null or
b.column_name is null)
union all
select a.table_schema,
a.table_name,
a.column_name,
b.table_schema,
b.table_name,
b.column_name
from information_schema.columns a
left join information_schema.columns b on a.table_name = b.table_name and a.column_name =
b.column_name and b.table_schema = 'DBNAME2'
where a.table_schema = 'DBNAME1' and
(b.table_name is null or
b.column_name is NULL) ;
1、等于運(yùn)算符:=
“=”是用來判斷數(shù)字、字符串和表達(dá)式是否相等,如果相等,返回值為,否則返回值為0。
如:select 5=6,'9'=9,668=668,'luo'='luo',(2*3)=(4*5),NULL=NULL,0=NULL;
結(jié)論】
1)若有一個(gè)兩個(gè)操作數(shù)為NULL,比較運(yùn)算的結(jié)果就是NULL;
2)同一個(gè)比較運(yùn)算符中兩個(gè)操作數(shù)都是字符串,則按照字符串進(jìn)行比較;
3)若同一個(gè)比較運(yùn)算符中兩個(gè)操作數(shù)都是數(shù)值,則按照數(shù)值進(jìn)行比較;
4)若是一個(gè)數(shù)值和一個(gè)字符串進(jìn)行比較,則MySQL自動將字符串轉(zhuǎn)化為數(shù)值;
5)不管何種情況,“=”比較返回的確實(shí)只有1、0與NULL三類值。
2、安全等于運(yùn)算符:=
“=”運(yùn)算符在具備“=”所有功能的基礎(chǔ)上增加了判斷NULL值的功能。
【結(jié)論】
1)“=”運(yùn)算符確實(shí)具備“=”所有功能,返回值也是1、0與NULL;
2)當(dāng)兩個(gè)操作數(shù)均為NULL時(shí),“=”運(yùn)算符返回的結(jié)果為1,而不是NULL;
3)當(dāng)只有一個(gè)操作數(shù)為NULL時(shí),“=”運(yùn)算符返回的結(jié)果也不是NULL而是0。
3、不等于運(yùn)算符:或!=
1)“”或“!=”運(yùn)算符也是可以用于數(shù)字、字符串與表達(dá)式的判斷;
2)其比較邏輯與“=”相反,但返回值也是1、0與NULL。
4、小于或等于運(yùn)算符:=
1)“=”運(yùn)算符也是可以用于數(shù)字、字符串與表達(dá)式的判斷;
2)其邏輯:判斷左邊的操作數(shù)是否小于右邊的操作數(shù),如果是則返回1,否則返回0;
3)針對含有NULL的操作數(shù)則好不猶豫地返回NULL。
5、小于運(yùn)算符:
6、大于或等于運(yùn)算符:=
7、大于運(yùn)算符:
這三類運(yùn)算符與上面的“=”邏輯一致,大家可以自己去分析其過程并得到結(jié)論。
8、IS NULL(ISNULL)、IS NOT NULL運(yùn)算符
1)這類比較運(yùn)算符是用來判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0,沒有NULL;
3)IS NULL(ISNULL)與IS NOT NULL返回的值相反。
9、BETWEEN AND運(yùn)算符
其語法格式為“expr BETWEEN min AND max”。
1)這類比較運(yùn)算符是用來判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0與NULL;
3)等同于:min = expr =max,即包含上下限的值。
10、IN與NOT IN運(yùn)算符
1)這類比較運(yùn)算符是用來判斷數(shù)字、字符、表達(dá)式結(jié)果是否為NULL;
2)返回的結(jié)果值有1、0與NULL;
3)IN用來判斷操作數(shù)是否為IN列表中的一個(gè)值,如果是則返回1,否則返回0,對于NULL則返回NULL。NOT IN則于IN相反。
11、LIKE運(yùn)算符
其語法格式為“expr LIKE 匹配條件”。
1)LIKE運(yùn)算符用于匹配字符串;
2)返回的結(jié)果值有1、0與NULL;
3)包含兩種通配符。“%”匹配任何字符,甚至包括零字符;“_”只能匹配一個(gè)字符。
12、REGEXP運(yùn)算符
REGEXP是LIKE的逆運(yùn)算。語法格式類似:“expr REGEXP 匹配條件”。只是其包含的通配符更多。
1)^:匹配以該字符后面的字符開頭的字符串;
2)$:匹配以該字符后面的字符結(jié)尾的字符串;
3).:匹配任何一個(gè)單字符;
4)[···]:匹配方括號內(nèi)的任何字符;
5)*:匹配零個(gè)或多個(gè)在它前面的字符。
總結(jié):
1、MySQL支持的比較運(yùn)算符有12類;
2、一個(gè)比較運(yùn)算符的結(jié)果總是1、0或NULL;
3、只有“=”才支持NULL的比較,其他對有NULL操作數(shù)時(shí)返回的結(jié)果就是NULL。