在寫設計文件時,需要把mysql中的表結構按要求匯出。mysql客戶端預設的字段不滿足需求時,可通過mysql的information_schema.columns表,查詢並按需求匯出字段。
information_schema.columns表記錄了所有庫中所有表的字段資訊,如下:
字段具體意義如下:
字段備註
table_catalog
def 標記符
table_schema
表、檢視所在的資料庫名
table_name
表、檢視名
column_name
欄位名ordinal_position
字段編號,從1開始往後排
column_default
字段預設值
is_nullable
字段是否可空
data_type
字段資料型別
character_maximum_length
欄位的最大字元數;只適用於二進位制資料(字元,文字,影象資料),其他型別資料(int,float,datetime等)為null
character_octet_length
欄位的最大位元組數;只適用於二進位制資料(字元,文字,影象資料),其他型別資料(int,float,datetime等)為null;和最大字元數的數值有比例關係,和字符集有關,比如utf8型別的表,最大位元組數是最大字元數的3倍
numeric_precision
數字精度
numeric_scale
小數字數
datetime_precision
datetime型別和sql-92interval型別資料庫的子型別**
character_set_name
字段字符集名稱
collation_name
字符集排序規則;utf8_general_ci,是不區分大小寫一種排序規則,utf8_general_cs,是區分大小寫的排序規則
column_type
字段型別
column_key
索引型別(pri-主鍵,uni-唯一鍵,mul-可重複)
extra
附加資訊,比如 主鍵的auto_increment
privileges
許可權(多個許可權用逗號隔開-select,insert,update,references)
column_comment
字段注釋
可按照上述字段資訊提取相應表的表結構,sql如下:
select
column_name 欄位名稱,
column_type 字段型別,
column_default 預設值,
character_maximum_length as 最大長度,
(case
when is_nullable =
'no'
then
'否'else
'是'end
)as 是否可空,
(case
when column_key =
'pri'
then
'是'else
'否'end
)as 是否主鍵,
column_comment 描述
from
information_schema.
columns
where
table_schema =
'simulation_platform'
and table_name =
'task'
輸出如下:
還可新建檢視,儲存該sql,通過客戶端的匯出功能,直接輸出excel或其它格式。
MYSQL匯出成EXCEL表
select from xi table into outfile d test.xls 沒想到這麼簡單。匯出為txt檔案 select from xi table into outfile d test.txt 有時候有excel開啟的時候會出現亂碼,因為office預設的是gb2312編碼,伺服...
PG匯出表結構為Excel
如下圖sql所示 select a.attnum as 序號,這裡是表描述,原本新建資料庫的時候沒有新增表描述,查詢出來會為空,注釋掉就好,有表描述的放開這條注釋 a.attname as 欄位名稱,concat ws t.typname,substring format type a.atttyp...
sql server 表結構 匯出 到excel
1 select 2 表名 case when a.colorder 1then d.name else end 3 表說明 case when a.colorder 1then isnull f.value,else end 4 字段序號 a.colorder,5 欄位名 a.name,6 標識 ...