婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

mysql如何比對兩個數(shù)據(jù)庫表結構的方法

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

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

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

我們可以使用mysqldiff工具來實現(xiàn)比對數(shù)據(jù)庫表結構及獲取更新結構的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系統(tǒng),可以直接使用brew安裝即可。

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

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

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

參數(shù)說明:

--server1 指定數(shù)據(jù)庫1
--server2 指定數(shù)據(jù)庫2

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

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

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

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的參數(shù)使用方法可參考官方文檔:
https://dev.mysql.com/doc/mysql-utilities/1.5/en/mysqldiff.html

3.實例

創(chuàng)建測試數(shù)據(jù)庫表及數(shù)據(jù)

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);

執(zhí)行差異比對,設置server1為主,server2要轉為server1數(shù)據(jù)庫表結構

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.

執(zhí)行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)

再次執(zhí)行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數(shù)據(jù)表的基本操作之表結構操作,字段操作實例分析
  • MYSQL數(shù)據(jù)庫表結構優(yōu)化方法詳解
  • mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】
  • 詳解 linux mysqldump 導出數(shù)據(jù)庫、數(shù)據(jù)、表結構
  • MySQL利用procedure analyse()函數(shù)優(yōu)化表結構
  • Navicat for MySQL導出表結構腳本的簡單方法
  • Mysql復制表結構、表數(shù)據(jù)的方法
  • MySQL中修改表結構時需要注意的一些地方
  • MySQL修改表結構操作命令總結
  • MySQL如何快速修改表的表結構

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

巨人網(wǎng)絡通訊聲明:本文標題《mysql如何比對兩個數(shù)據(jù)庫表結構的方法》,本文關鍵詞  mysql,如何,比對,兩個,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql如何比對兩個數(shù)據(jù)庫表結構的方法》相關的同類信息!
  • 本頁收集關于mysql如何比對兩個數(shù)據(jù)庫表結構的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    成人h动漫精品一区二区| 久久一留热品黄| 欧美人狂配大交3d怪物一区| 欧美国产日韩在线观看| 亚洲免费成人av| 日本韩国欧美在线| 中文字幕一区二区三区不卡在线| 国产一区二区在线观看视频| 制服丝袜亚洲色图| 午夜影视日本亚洲欧洲精品| 在线观看日韩毛片| 亚洲成人第一页| 欧美蜜桃一区二区三区| 日韩精品一卡二卡三卡四卡无卡| 91精品国产91热久久久做人人| 日产欧产美韩系列久久99| 欧美肥妇毛茸茸| 奇米影视一区二区三区小说| 久久久久青草大香线综合精品| 精品在线观看视频| 中文字幕第一区二区| 成人黄色大片在线观看| 三级精品在线观看| 精品免费视频一区二区| 国产一二三精品| 亚洲人成7777| 欧美亚男人的天堂| 日韩—二三区免费观看av| 国产精品福利av | 2020国产精品自拍| 免费高清不卡av| 欧美一区二区啪啪| 经典三级一区二区| 久久久精品欧美丰满| 欧美三级资源在线| 九色porny丨国产精品| 欧美日韩在线三区| 蜜桃视频在线观看一区| 日韩精品资源二区在线| 成人激情视频网站| 亚洲欧美电影一区二区| 欧美一区二区三区日韩| 国产伦精品一区二区三区免费迷 | 欧美国产日产图区| 欧美日韩久久不卡| 9i在线看片成人免费| 亚洲综合一区二区精品导航| 国产日韩欧美在线一区| 91视频一区二区| 亚洲区小说区图片区qvod| 日韩欧美一区二区在线视频| www.欧美日韩| 精品一区二区影视| 欧美国产日韩亚洲一区| 国产欧美一区二区精品忘忧草| 色婷婷亚洲综合| 精品一区二区在线播放| 亚洲va欧美va人人爽午夜| 久久免费美女视频| 欧美日韩国产小视频在线观看| 久久99国产精品尤物| 亚洲福中文字幕伊人影院| 亚洲国产精品二十页| 精品免费国产一区二区三区四区| 99精品欧美一区二区三区综合在线| 青娱乐精品在线视频| 国产精品免费久久| 日本一区二区三区国色天香 | 美女视频黄免费的久久 | 国产日韩欧美不卡在线| 欧美一区二区人人喊爽| 欧美视频一区二区三区| 91久久奴性调教| 色婷婷综合久久| 欧美三级韩国三级日本一级| 91免费观看在线| 成人污视频在线观看| 风间由美中文字幕在线看视频国产欧美| 毛片av一区二区| 日韩国产精品久久| 日韩精品亚洲一区| 蜜桃一区二区三区在线观看| 国内精品伊人久久久久av影院| 久久精品99国产精品| 久88久久88久久久| 高清成人在线观看| 国产激情一区二区三区| 成人在线视频一区二区| 91香蕉国产在线观看软件| 欧美日韩国产色站一区二区三区| zzijzzij亚洲日本少妇熟睡| 国产成人综合精品三级| 99国产精品久久| 92国产精品观看| 欧美日韩国产首页在线观看| 欧美一级黄色片| 国产欧美精品一区二区三区四区 | 免费在线一区观看| 国产69精品久久777的优势| 91亚洲永久精品| 欧美高清视频不卡网| 久久综合久久综合久久综合| 欧美韩国日本不卡| 午夜精品视频在线观看| 成人综合日日夜夜| 欧美日韩一区二区三区视频| 欧美成人艳星乳罩| 依依成人精品视频| 蜜桃av噜噜一区| hitomi一区二区三区精品| 欧美猛男男办公室激情| 精品国产乱码久久久久久夜甘婷婷| 久久网这里都是精品| 亚洲裸体在线观看| 蜜臀a∨国产成人精品| k8久久久一区二区三区| 日韩一级视频免费观看在线| 亚洲猫色日本管| 国产成人8x视频一区二区| 日韩欧美一级二级三级| 亚洲欧美一区二区久久| 成人av网站免费观看| 欧美成人vps| 亚洲人成在线播放网站岛国| 国产一区在线观看视频| 99久久久久久| 精品久久免费看| 亚洲一区二区精品3399| 色婷婷久久久久swag精品| 久久久久88色偷偷免费 | 日韩视频在线观看一区二区| 一区二区三区四区乱视频| 国产成人在线色| 精品99一区二区三区| 日本一区中文字幕| 3d动漫精品啪啪1区2区免费 | 91蜜桃免费观看视频| 久久久久久久久一| 久久国产精品露脸对白| 欧美猛男超大videosgay| 亚洲观看高清完整版在线观看| 色哦色哦哦色天天综合| 国产精品每日更新在线播放网址| 狠狠色丁香婷综合久久| 久久在线观看免费| 国产精品亚洲午夜一区二区三区 | 色综合久久88色综合天天6| 欧美国产乱子伦| 高清在线成人网| 国产精品国产三级国产| 成人av网站在线观看| 一区二区三区在线观看国产 | 色综合视频在线观看| 日韩久久精品一区| 亚瑟在线精品视频| 欧美浪妇xxxx高跟鞋交| 一个色综合av| 欧美专区亚洲专区| 亚洲男人的天堂网| 91黄视频在线观看| 精品国产在天天线2019| www.亚洲免费av| 欧美日韩国产综合一区二区| 中文字幕在线不卡国产视频| 91高清视频免费看| 欧美精品xxxxbbbb| 极品少妇xxxx精品少妇| 国产jizzjizz一区二区| 精品电影一区二区| 国产成人精品在线看| 欧美三级视频在线播放| 国产资源在线一区| 91国产免费观看| 风间由美一区二区av101| 风间由美一区二区av101| 天天影视涩香欲综合网 | 99久久久免费精品国产一区二区| 欧美精品日韩一本| 成人网在线免费视频| 国产一区免费电影| a在线欧美一区| 久久精品一区二区三区不卡| 日韩免费福利电影在线观看| av爱爱亚洲一区| 蜜桃传媒麻豆第一区在线观看| 在线免费观看日本一区| 国产黄色精品视频| 日韩欧美在线网站| 欧美在线不卡一区| 日韩三级在线免费观看| 色一区在线观看| 精品一区二区三区免费毛片爱| 欧美日韩亚洲综合在线| 91在线免费视频观看| 国产欧美精品一区| 欧美精品一区二区在线观看| 中文字幕一区二区在线观看| 日韩亚洲欧美成人一区| 日本高清成人免费播放| 亚洲一区二三区|