Online DDL 工具:pt-osc
創(chuàng)新互聯(lián)公司是一家以成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運維、成都網(wǎng)站營銷、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為成都紙箱等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
對于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個與原表結(jié)構(gòu)相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結(jié)構(gòu);
3. 在原表上加三個觸發(fā)器:delete/update/insert,用于 copy 數(shù)據(jù)過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數(shù)據(jù)以數(shù)據(jù)塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
MySQL
查看表結(jié)構(gòu)簡單命令。
一、簡單描述表結(jié)構(gòu),字段類型desc
tabl_name;
顯示表結(jié)構(gòu),字段類型,主鍵,是否為空等屬性,但不顯示外鍵。
二、查詢表中列的注釋信息
select
*
from
information_schema.columns
where
table_schema
=
'db'
#表所在數(shù)據(jù)庫
and
table_name
=
'tablename'
;
#你要查的表
三、只查詢列名和注釋
select
column_name,
column_comment
from
information_schema.columns
where
table_schema
='db'
and
table_name
=
'tablename'
;
四、#查看表的注釋
select
table_name,table_comment
from
information_schema.tables
where
table_schema
=
'db'
and
table_name
='tablename'
ps:二~四是在元數(shù)據(jù)表中查看,我在實際操作中,常常不靈光,不知為什么,有了解的大俠請留印。
五、查看表生成的DDL
show
create
table
table_name;
登陸mysql
命令:
mysql -uroot -p
此處以mysql數(shù)據(jù)庫的func表為例
查看表結(jié)構(gòu)的方法1
命令:
desc func;
方法2
命令:
describe func;
方法3
命令:
show columns from func;
方法3
命令:
explain func;
方法3
使用mysql的工具mysqlshow.exe
mysql 數(shù)據(jù)庫 表
教你如何查看數(shù)據(jù)表結(jié)構(gòu)
DESCRIBE/DESC 語句可以查看表的字段信息,其中包括字段名、字段數(shù)據(jù)類型、是否為主鍵、是否有默認值等。
語法:
我們一般簡寫為:
我們看下之前新建的一個表,來具體看下每一個含義的內(nèi)容;
可以看到我們無論使用 describe 還是 desc 命令查看表結(jié)構(gòu),結(jié)果都是一致的。
那么看下具體信息:
show create table 可以查看創(chuàng)建表的具體語句;
語法:
示例:
如果加上 \G 之后,我們可以看到輸出內(nèi)容易讀性高;
支持,本文結(jié)束。?
更多內(nèi)容請轉(zhuǎn)至VX公眾號 “運維家” ,獲取最新文章。
------ “運維家”? ------
------ “運維家”? ------
------ “運維家”? ------
系統(tǒng)運維工程師面試,運維工程師優(yōu)秀員工提名詞,tr運維工程師,特來電運維工程師工作日常,IT運維工程師高級;
智能制造運維工程師培訓課程,遠程辦公的運維工程師,邁瑞醫(yī)療運維工程師工資待遇,后臺運維工程師是做什么的;
風力運維工程師怎樣,浪潮云運維工程師,醫(yī)療設(shè)備運維工程師證書樣本,運維工程師男朋友,運維工程師暴躁。
一、簡單描述表結(jié)構(gòu),字段類型
desc tabl_name;
顯示表結(jié)構(gòu),字段類型,主鍵,是否為空等屬性,但不顯示外鍵。
例如:desc table_name
二、查詢表中列的注釋信息
select * from information_schema.columns
where table_schema = 'db' #表所在數(shù)據(jù)庫
and table_name = 'tablename' ; #你要查的表
例如:
可以自動選擇你需要信息
三、只查詢列名和注釋
select column_name, column_comment from information_schema.columns where table_schema ='db' and table_name = 'tablename' ;
例如:
四、#查看表的注釋
select table_name,table_comment from information_schema.tables where table_schema = 'db' and table_name ='tablename'
例如:
五、查看表生成的DDL
show create table table_name;
例如:
這個命令雖然顯示起來不是太容易看, 這個不是問題可以用\G來結(jié)尾,使得結(jié)果容易閱讀;該命令把創(chuàng)建表的DDL顯示出來,于是表結(jié)構(gòu)、類型,外鍵,備注全部顯示出來了。
我比較喜歡這個命令:輸入簡單,顯示結(jié)果全面。
Online DDL 工具:pt-osc
對于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個與原表結(jié)構(gòu)相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結(jié)構(gòu);
3. 在原表上加三個觸發(fā)器:delete/update/insert,用于 copy 數(shù)據(jù)過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數(shù)據(jù)以數(shù)據(jù)塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
標題名稱:怎么查看表結(jié)構(gòu)mysql,查看表結(jié)構(gòu)用
標題網(wǎng)址:http://jinyejixie.com/article6/hsohog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、標簽優(yōu)化、網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航、商城網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)