1.在MySQL數(shù)據(jù)庫中通過show tables命令;查看數(shù)據(jù)庫中所有數(shù)據(jù)表
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信平臺小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了榮昌免費(fèi)建站歡迎大家使用!
2.在MySQL數(shù)據(jù)庫中通過desc tablename;查看表結(jié)構(gòu)
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ā)器。
mysql底層架構(gòu)分為:
1、client(客戶端)
2、server(服務(wù)端)
client: 主要有各種plugin、jdbc等
server: 包含了連接器、查詢緩存、分析器、優(yōu)化器、執(zhí)行器、存儲引擎
連接器 的主要作用是與 客戶端 建立聯(lián)系,管理客戶端的連接、會話、權(quán)限驗證等。
查詢緩存 的作用是,在sql通過連接器之后到達(dá)服務(wù)端之后,如果sql是sel開頭的語句,那么先在 查詢緩存 中獲取命中結(jié)果,如果有命中結(jié)果則直接返回結(jié)果。沒有結(jié)果那么sql會通往 分析器 。
分析器 拿到sql后,會對sql進(jìn)行詞法、語法分析,同時創(chuàng)建sql Id,如果sql有錯誤,那么將會終止sql行為,將異常返回客戶端。
優(yōu)化器 的作用主要是對通過 分析器 的sql進(jìn)行優(yōu)化,比如進(jìn)行 索引選擇 、 重寫查詢 等,同時會創(chuàng)建 sql執(zhí)行計劃 ,可以通過 explain 指令進(jìn)行查看。
執(zhí)行器 拿到了經(jīng)過優(yōu)化器的sql,將會操作 存儲引擎 ,通過調(diào)用 存儲引擎 提供的讀寫接口,得到返回結(jié)果。
存儲引擎 是sql的最終執(zhí)行者,它對外提供了讀寫接口,本身主要作用為執(zhí)行sql、存儲數(shù)據(jù)、獲取數(shù)據(jù)等, 存儲引擎 的設(shè)計是插件形式實現(xiàn)的,常見了有 InnoDB 、 MyISAM 等。
未完待續(xù)......
你好,很高興回答你的問題。
要實現(xiàn)你的需求的sql大概是下面這樣的。
select t1.id,t1.parent_id,t1.module_code,t1.module_name,t2.id,t2.parent_id,t2.module_code,t2.module_name,t3.id,t3.parent_id,t3.module_code,t3.module_name from 表名 t1,表名 t2,表名 t3 where t1.parent_id=0 and t2.parent_id=t1.ID and t3.parent_id=t2.id。
如果有幫助到你,請點擊采納。
在我第N次忘記如何查看表結(jié)構(gòu)后,在網(wǎng)上查了一下后,看到有好幾種查看表結(jié)構(gòu)的方式,總結(jié)一下。
以student(sid,sname,birthday,sex)的查看為例。
【方式一】:desc student;
語法:desc 表名;---------------------用于查看表整體結(jié)構(gòu)
【方式二】:describe student;
語法:describe 表名;---------------------用于查看表整體結(jié)構(gòu);
【方式三】:show columns from student;
語法:show columns from 表名;--------------------------用于查看表整體結(jié)構(gòu);
【方式四】:show create table student;
語法:show create table 表名;--------------------------用于查看表整體結(jié)構(gòu);
【方式五】:show full fields from student;
語法:show full fields from 表名;--------------------------------- 用于查看表整體結(jié)構(gòu);
【方式六】:show fields from student;
語法:show fields from 表名;----------------------------用于查看表整體結(jié)構(gòu);
【方式七】:desc student sname;
語法:desc 表名 成員名;--------------------------------用于查詢表中的一部分;
【方式八】:show index from student;
語法:show index from 表名;------------------------------------用于查看表局部結(jié)構(gòu);這種顯示不是很直觀,也不是可以完全顯示所有信息。