MySQL - 數據庫表結構導出到 Excel

這幾天剛來實習,項目主管給我佈置了個寫文檔的任務,要求把數據庫中所有的表全部填在以下格式的文檔中!

一開始慢悠悠的從 Native 中一個一個查看錶的結構,不停的複製粘貼-複製粘貼,頭都大了,幾十張表,幾千個字段,我啥時候能下班啊。

於是,我想起可以直接利用sql語句,生成上表的樣式,然後直接複製進去,就可以了,話不多說,附上代碼。

SELECT
	COLUMN_NAME as 字段名稱,
	COLUMN_TYPE as 數據類型,
	if(COLUMN_KEY='PRI','Y','N') as 主鍵,
	COLUMN_COMMENT as 備註
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = '數據庫名稱'
AND 
	table_name = '數據表名稱'

使用內置表INFORMATION_SCHEMA. COLUMNS來查詢,任何表中的任何一列都會在此表中對應一行記錄。

例如,我的數據表 account(賬戶表) 的結構爲

執行完SQL語句後

現在直接複製粘貼就可以了!

那我能不能直接導出到excel中呢,還得帶有表頭。話不多說,放代碼~

SELECT '字段名稱','數據類型','主鍵','備註'
UNION
SELECT
	COLUMN_NAME as 字段名稱,
	COLUMN_TYPE as 數據類型,
	if(COLUMN_KEY='PRI','Y','N') as 主鍵,
	COLUMN_COMMENT as 備註
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = 'mydata'
AND 
	table_name = 'account'
INTO OUTFILE 'C:/Users/Administrator/Desktop/account.xls'

執行後,發現桌面多了account.xls,具體內容如下

唉,真舒服,又可以早點下班了。

 

補充字段(非空字段)

SELECT 'SQL字段名稱','數據類型','非空','主鍵','備註'
UNION
SELECT
 COLUMN_NAME as `SQL字段名稱`,
-- COLUMN_NAME as `JAVA字段名稱`,
 COLUMN_TYPE as `數據類型`,
 if(IS_NULLABLE='NO','Y','N') as `非空`,
 if(COLUMN_KEY='PRI','Y','N') as `主鍵`,
 COLUMN_COMMENT as `備註`
FROM
 INFORMATION_SCHEMA. COLUMNS
WHERE
 table_schema = 'dsp'
AND
 table_name = 'dsp_supplier'
-- INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/dsp_supplier.xlsx'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章