1. 程式人生 > 其它 >DB - MySQL - 資料庫表結構表字段資訊

DB - MySQL - 資料庫表結構表字段資訊

文字編寫時間: 2022-05-08 17:53   (如下內容為本人工作中總結,只是現在才放到部落格上,歡迎大家查閱)

1.  MySql函式
    http://www.baidu.com/index.php?tn=mswin_oem_dg


2. 查詢資料庫中所有表

SELECT * FROM information_schema.tables
WHERE table_schema='資料庫名稱';


3.  資料庫所佔空間

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT ( TRUNCATE ( SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_SCHEMA = '資料庫名';


4. 查詢表空間使用情況

SELECT '01',CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT (TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_NAME = '表名';

5.  查詢表字段併合並

SELECT GROUP_CONCAT(column_name) FROM information_schema.columns
WHERE table_name='表名';


6. 檢視分割槽

檢視分割槽對應的表:INFORMATION_SCHEMA. PARTITIONS
查看錶具體分割槽資料量
SELECT PARTITION_NAME,TABLE_ROWS,a.index_length,a.data_length,a.* FROM INFORMATION_SCHEMA.PARTITIONS a

WHERE TABLE_NAME = '表名' ; (注意需要自行根據自己的業務分割槽欄位來限定查詢的分割槽內容)

7.  查詢表字段、欄位型別、欄位註釋 (如下SQL結構類似java實體物件資訊。請各自根據實際需要進行調整sql)

SELECT
# GROUP_CONCAT(column_name)
CONCAT('//',a.column_comment),
'private ',
CASE
WHEN a.DATA_TYPE = 'VARCHAR2' THEN 'String '
WHEN a.DATA_TYPE = 'bigint' THEN 'long'
WHEN a.DATA_TYPE = 'datetime' THEN 'Date'
WHEN a.DATA_TYPE = 'int' THEN 'int'
ELSE
'String'
END AS java_type,
column_name, ';',a.*
FROM information_schema.columns a
WHERE table_name='表名';

 

8.  查詢表和表字段

查詢資料庫中所有表名 (table_schema和table_type如果不確定可以先查詢出所有再根據具體需要進行篩選查詢)
select table_name from information_schema.tables
Where table_schema='庫名' and table_type='表型別';

9. 查詢指定資料庫中指定表的所有欄位名column_name

select column_name from information_schema.columns
Where table_schema='庫名' and table_name='表名';

 

10. 查詢表結構 (欄位名、欄位型別、欄位註釋說明,以及是否必填)

SELECT column_name, column_type, column_comment,
CASE
WHEN a.is_nullable='YES' THEN 'Y'
ELSE 'N'
END
FROM information_schema.columns a
WHERE table_name='表名';