亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > mysql如何比對兩個數據庫表結構的方法

mysql如何比對兩個數據庫表結構的方法

熱門標簽:400電話可以免費申請嗎 騰訊地圖標注提升 真人語音電話機器人 悟空科技電話機器人 怎么在地圖標注位置生成圖片 電銷卡外呼系統供應商 銅陵防封電銷卡 美國反騷擾電話機器人 福建外呼系統定制化

在開發及調試的過程中,需要比對新舊代碼的差異,我們可以使用git/svn等版本控制工具進行比對。而不同版本的數據庫表結構也存在差異,我們同樣需要比對差異及獲取更新結構的sql語句。

例如同一套代碼,在開發環境正常,在測試環境出現問題,這時除了檢查服務器設置,還需要比對開發環境與測試環境的數據庫表結構是否存在差異。找到差異后需要更新測試環境數據庫表結構直到開發與測試環境的數據庫表結構一致。

我們可以使用mysqldiff工具來實現比對數據庫表結構及獲取更新結構的sql語句。

1.mysqldiff安裝方法

mysqldiff工具在mysql-utilities軟件包中,而運行mysql-utilities需要安裝依賴mysql-connector-python  

mysql-connector-python 安裝

下載地址:https://dev.mysql.com/downloads/connector/python/ 

mysql-utilities 安裝

下載地址:https://downloads.mysql.com/archives/utilities/

因本人使用的是mac系統,可以直接使用brew安裝即可。

brew install caskroom/cask/mysql-connector-python
brew install caskroom/cask/mysql-utilities

安裝以后執行查看版本命令,如果能顯示版本表示安裝成功

mysqldiff --version
MySQL Utilities mysqldiff version 1.6.5 
License type: GPLv2

2.mysqldiff使用方法

命令:

mysqldiff --server1=root@host1 --server2=root@host2 --difftype=sql db1.table1:dbx.table3

參數說明:

--server1 指定數據庫1
--server2 指定數據庫2

比對可以針對單個數據庫,僅指定server1選項可以比較同一個庫中的不同表結構。  

--difftype 差異信息的顯示方式

unified (default)
顯示統一格式輸出

context
顯示上下文格式輸出

differ
顯示不同樣式的格式輸出

sql
顯示SQL轉換語句輸出

如果要獲取sql轉換語句,使用sql這種顯示方式顯示最適合。

--character-set 指定字符集

--changes-for 用于指定要轉換的對象,也就是生成差異的方向,默認是server1

--changes-for=server1 表示server1要轉為server2的結構,server2為主。

--changes-for=server2 表示server2要轉為server1的結構,server1為主。

--skip-table-options 忽略AUTO_INCREMENT, ENGINE, CHARSET的差異。

--version 查看版本

更多mysqldiff的參數使用方法可參考官方文檔:
https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldiff.html

3.實例

創建測試數據庫表及數據

create database testa;
create database testb;

use testa;

CREATE TABLE `tba` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(25) NOT NULL,
 `age` int(10) unsigned NOT NULL,
 `addtime` int(10) unsigned NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=utf8;

insert into `tba`(name,age,addtime) values('fdipzone',18,1514089188);

use testb;

CREATE TABLE `tbb` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(20) NOT NULL,
 `age` int(10) NOT NULL,
 `addtime` int(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into `tbb`(name,age,addtime) values('fdipzone',19,1514089188);

執行差異比對,設置server1為主,server2要轉為server1數據庫表結構

mysqldiff --server1=root@localhost --server2=root@localhost --changes-for=server2 --difftype=sql testa.tba:testb.tbb;
# server1 on localhost: ... connected.
# server2 on localhost: ... connected.
# Comparing testa.tba to testb.tbb                 [FAIL]
# Transformation for --changes-for=server2:
#

ALTER TABLE `testb`.`tbb` 
 CHANGE COLUMN addtime addtime int(10) unsigned NOT NULL, 
 CHANGE COLUMN age age int(10) unsigned NOT NULL, 
 CHANGE COLUMN name name varchar(25) NOT NULL, 
RENAME TO testa.tba 
, AUTO_INCREMENT=1002;

# Compare failed. One or more differences found.

執行mysqldiff返回的更新sql語句

mysql> ALTER TABLE `testb`.`tbb` 
  ->  CHANGE COLUMN addtime addtime int(10) unsigned NOT NULL, 
  ->  CHANGE COLUMN age age int(10) unsigned NOT NULL, 
  ->  CHANGE COLUMN name name varchar(25) NOT NULL;
Query OK, 0 rows affected (0.03 sec)

再次執行mysqldiff進行比對,結構沒有差異,只有AUTO_INCREMENT存在差異

mysqldiff --server1=root@localhost --server2=root@localhost --changes-for=server2 --difftype=sql testa.tba:testb.tbb;
# server1 on localhost: ... connected.
# server2 on localhost: ... connected.
# Comparing testa.tba to testb.tbb                 [FAIL]
# Transformation for --changes-for=server2:
#

ALTER TABLE `testb`.`tbb` 
RENAME TO testa.tba 
, AUTO_INCREMENT=1002;

# Compare failed. One or more differences found.

設置忽略AUTO_INCREMENT再進行差異比對,比對通過

mysqldiff --server1=root@localhost --server2=root@localhost --changes-for=server2 --skip-table-options --difftype=sql testa.tba:testb.tbb;
# server1 on localhost: ... connected.
# server2 on localhost: ... connected.
# Comparing testa.tba to testb.tbb                 [PASS]
# Success. All objects are the same.

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • mysql數據表的基本操作之表結構操作,字段操作實例分析
  • MYSQL數據庫表結構優化方法詳解
  • mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】
  • 詳解 linux mysqldump 導出數據庫、數據、表結構
  • MySQL利用procedure analyse()函數優化表結構
  • Navicat for MySQL導出表結構腳本的簡單方法
  • Mysql復制表結構、表數據的方法
  • MySQL中修改表結構時需要注意的一些地方
  • MySQL修改表結構操作命令總結
  • MySQL如何快速修改表的表結構

標簽:烏海 云浮 湖北 聊城 臨汾 白銀 湖南 武威

巨人網絡通訊聲明:本文標題《mysql如何比對兩個數據庫表結構的方法》,本文關鍵詞  mysql,如何,比對,兩個,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql如何比對兩個數據庫表結構的方法》相關的同類信息!
  • 本頁收集關于mysql如何比對兩個數據庫表結構的方法的相關信息資訊供網民參考!
  • 推薦文章
    精品国产一区二区三区精东影业| 沈樵在线观看福利| 精品国产一区二区三区免费| 欧美激情一区二区三区视频 | 成人高清视频免费观看| 精品毛片视频| 色综合久久天天综合绕观看| 国产91精品露脸国语对白| 午夜精品国产自在现线拍| 国产国语在线播放视频| 亚州视频一区二区| 91麻豆tv| 日韩男人天堂| 成人影院一区二区三区| 欧美激情一区二区三区在线播放| 999久久狠狠免费精品| 精品久久久久久中文字幕一区| 日韩欧美一二三区| 青青青草视频在线观看| 国产麻豆精品hdvideoss| 欧美另类videosbestsex久久| 午夜激情视频在线观看| 日韩字幕在线| 99久久精品国产片| 可以免费看毛片的网站| 亚洲不卡一区二区三区在线| 国产一区精品| 欧美日本国产| 97视频免费在线观看| 国产一区二区精品久| 免费国产在线观看| 欧美一级视频免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美激情伊人| 成人高清视频免费观看| 亚洲精品久久久中文字| 青草国产在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美激情一区二区三区视频高清| 日本特黄一级| 亚洲www美色| 欧美日本国产| 91麻豆国产福利精品| 亚洲第一色在线| 青青久热| 日日日夜夜操| 国产成a人片在线观看视频 | 色综合久久手机在线| 中文字幕97| 一级女性全黄生活片免费| 91麻豆精品国产自产在线观看一区 | 999精品视频在线| 欧美一级视频高清片| 国产激情视频在线观看| 欧美爱爱动态| 日本免费乱理伦片在线观看2018| 日韩在线观看视频网站| 亚洲爆爽| 成人免费高清视频| 成人免费观看男女羞羞视频| 青青久热| 国产不卡高清| 国产伦久视频免费观看 视频| 亚洲精品久久玖玖玖玖| 久久国产精品自线拍免费| 美女免费毛片| 欧美激情伊人| 国产一区二区精品在线观看| 国产一区二区精品尤物| 精品视频一区二区| 免费毛片播放| 亚洲精品影院一区二区| 美女免费毛片| 中文字幕一区二区三区精彩视频| 欧美a免费| 你懂的日韩| 美国一区二区三区| 精品国产亚一区二区三区| 在线观看导航| 国产伦精品一区二区三区在线观看 | 国产一区二区精品尤物| 香蕉视频久久| 91麻豆爱豆果冻天美星空| 亚洲第一页色| 国产伦精品一区三区视频| 欧美爱爱动态| 久久精品欧美一区二区| 国产激情视频在线观看| 成人a级高清视频在线观看| 日本免费乱理伦片在线观看2018| 国产91精品露脸国语对白| 99久久精品国产高清一区二区| 午夜欧美成人久久久久久| 久久福利影视| 亚欧成人乱码一区二区| 香蕉视频久久| 韩国毛片免费大片| 精品视频在线观看一区二区| 国产精品自拍亚洲| 国产亚洲精品aaa大片| 麻豆污视频| 欧美大片a一级毛片视频| 亚洲天堂在线播放| 欧美另类videosbestsex久久| 成人影院久久久久久影院| 韩国毛片免费| 久久精品免视看国产明星 | 日韩在线观看视频黄| 天堂网中文在线| 99色视频| 日韩在线观看网站| 欧美另类videosbestsex| 欧美日本国产| 免费的黄视频| 一级毛片看真人在线视频| 久久精品成人一区二区三区| 久久国产精品只做精品| 中文字幕一区二区三区精彩视频| 韩国毛片免费大片| 国产一区二区精品久| 人人干人人插| 精品视频免费看| 亚欧乱色一区二区三区| 91麻豆tv| 国产一区二区精品久久| 国产麻豆精品| 欧美激情一区二区三区在线| 欧美1区2区3区| 欧美a级片免费看| 成人免费福利片在线观看| 日韩av片免费播放| 成人在免费观看视频国产| 精品国产一区二区三区免费| 日韩在线观看视频网站| 国产极品白嫩美女在线观看看| 午夜在线亚洲男人午在线| 日韩avdvd| 国产视频一区二区三区四区| 国产激情一区二区三区| 欧美另类videosbestsex高清| 99久久精品费精品国产一区二区| 亚洲 国产精品 日韩| 香蕉视频久久| 黄色短视屏| 亚洲精品永久一区| 韩国三级一区| 欧美另类videosbestsex高清| 精品视频在线观看一区二区| 尤物视频网站在线| 亚州视频一区二区| 99热视热频这里只有精品| 成人av在线播放| 精品在线视频播放| 亚洲精品影院一区二区| 国产麻豆精品高清在线播放| 国产一区二区精品在线观看| 午夜欧美成人香蕉剧场| 免费国产在线观看| 国产一区二区福利久久| 国产视频久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 成人免费福利片在线观看| 四虎影视库| 欧美一区二区三区性| 高清一级做a爱过程不卡视频| 国产一区二区精品在线观看| 午夜精品国产自在现线拍| 香蕉视频一级| 九九干| 国产一区二区精品久久91| 午夜精品国产自在现线拍| 国产精品1024在线永久免费 | 亚久久伊人精品青青草原2020| 欧美国产日韩在线| 国产伦久视频免费观看 视频| 欧美激情影院| 国产欧美精品午夜在线播放| 欧美激情一区二区三区视频| 欧美1区2区3区| 一级片片| 日本特黄一级| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产成a人片在线观看视频| 色综合久久天天综合绕观看| 国产精品免费久久| 青青久久精品国产免费看| 成人在免费观看视频国产| 亚欧乱色一区二区三区| 成人免费观看的视频黄页| 精品视频免费观看| 久久精品道一区二区三区| 美女免费精品高清毛片在线视| 可以在线看黄的网站| 美女免费精品高清毛片在线视| 欧美a级成人淫片免费看| 尤物视频网站在线| 国产国产人免费视频成69堂| 四虎久久精品国产| 99色视频在线| 九九热国产视频|