項目中用到,記錄以便備用
查詢所有數據庫占用磁盤空間大小的SQL語句:
SELECT TABLE_SCHEMA, concat( TRUNCATE ( sum(data_length) / 1024 / 1024, 2 ), ' MB' ) AS data_size, concat( TRUNCATE ( sum(index_length) / 1024 / 1024, 2 ), 'MB' ) AS index_sizeFROM information_schema. TABLESGROUP BY TABLE_SCHEMAORDER BY data_length DESC;查詢單個庫中所有表的表名,記錄行數,表的注釋,表的類型,表使用的數據庫引擎,表的更新時間,表中數據的大小,表的索引的大小的SQL語句:
SELECT TABLE_NAME, TABLE_ROWS, TABLE_COMMENT, Table_type, Engine , Update_time, concat( TRUNCATE (data_length / 1024 / 1024, 2), ' MB' ) AS data_size, concat( TRUNCATE (index_length / 1024 / 1024, 2), ' MB' )FROM information_schema. TABLESWHERE TABLE_SCHEMA = 'dqcs'GROUP BY TABLE_NAMEORDER BY data_length DESC;
MySQL數據庫主要系統表說明
1. 獲取所有表結構(TABLES)
SELECT * FROMinformation_schema.TABLES WHERE TABLE_SCHEMA='數據庫名';
TABLES表:提供了關于數據庫中的表的信息(包括視圖)。詳細表述了某個表屬于哪個schema,表類型,表引擎,創建時間等信息。各字段說明如下:
字段 | 含義 |
Table_catalog | 數據表登記目錄 |
Table_schema | 數據表所屬的數據庫名 |
Table_name | 表名稱 |
Table_type | 表類型[system view|base table] |
Engine | 使用的數據庫引擎[MyISAM|CSV|InnoDB] |
Version | 版本,默認值10 |
Row_format | 行格式[Compact|Dynamic|Fixed] |
Table_rows | 表里所存多少行數據 |
Avg_row_length | 平均行長度 |
Data_length | 數據長度 |
Max_data_length | 最大數據長度 |
Index_length | 索引長度 |
Data_free | 自由數據? |
Auto_increment | 做自增主鍵的自動增量當前值 |
Create_time | 表的創建時間 |
Update_time | 表的更新時間 |
Check_time | 表的檢查時間 |
Table_collation | 表的字符校驗編碼集 |
Checksum | 校驗和 |
Create_options | 創建選項 |
Table_comment | 表的注釋、備注 |
SELECT * FROMinformation_schema.COLUMNS WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名'
COLUMNS表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息。各字段的說明信息如下:
字段 | 含義 |
Table_catalog | 數據表登記目錄 |
Table_schema | 數據表所屬的數據庫名 |
Table_name | 所屬的表名稱 |
Column_name | 列名稱 |
Ordinal_position | 字段在表中第幾列 |
Column_default | 列的默認數據 |
Is_nullable | 字段是否可以為空 |
Data_type | 數據類型 |
Character_maximum_length | 字符最大長度 |
Character_octet_length | 字節長度? |
Numeric_PRecision | 數據精度 |
Numeric_scale | 數據規模 |
Character_set_name | 字符集名稱 |
Collation_name | 字符集校驗名稱 |
Column_type | 列類型 |
Column_key | 關鍵列[NULL|MUL|PRI] |
Extra | 額外描述[NULL|on update CURRENT_TIMESTAMP|auto_increment] |
Privileges | 字段操作權限[select|select,insert,update,references] |
Column_comment | 字段注釋、描述 |
SELECT * FROMinformation_schema.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名'
KEY_COLUMN_USAGE表:存取表的健值。各字段的說明信息如下:
字段 | 含義 |
Constraint_catalog | 約束登記目錄 |
Constraint_schema | 約束所屬的數據庫名 |
Constraint_name | 約束的名稱 |
Table_catalog | 數據表等級目錄 |
Table_schema | 鍵值所屬表所屬的數據庫名(一般與Constraint_schema值相同) |
Table_name | 鍵值所屬的表名 |
Column_name | 鍵值所屬的列名 |
Ordinal_position | 鍵值所屬的字段在表中第幾列 |
Position_in_unique_constraint | 鍵值所屬的字段在唯一約束的位置(若為外鍵值為1) |
Referenced_talble_schema | 外鍵依賴的數據庫名(一般與Constraint_schema值相同) |
Referenced_talble_name | 外鍵依賴的表名 |
Referenced_column_name | 外鍵依賴的列名 |
SELECT * FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA='數據庫名' ANDTABLE_NAME='表名'
TABLE_CONSTRAINTS表:存儲主鍵約束、外鍵約束、唯一約束、check約束。各字段的說明信息如下:
字段 | 含義 |
Constraint_catalog | 約束登記目錄 |
Constraint_schema | 約束所屬的數據庫名 |
Constraint_name | 約束的名稱 |
Table_schema | 約束依賴表所屬的數據庫名(一般與Constraint_schema值相同) |
Table_name | 約束所屬的表名 |
Constraint_type | 約束類型[primary key|foreign key|unique|check] |
SELECT * FROMinformation_schema.STATISTICS WHERE TABLE_SCHEMA='數據庫名' AND TABLE_NAME='表名'
STATISTICS表:提供了關于表索引的信息。各字段的說明信息如下:
字段 | 含義 |
Table_catalog | 數據表登記目錄 |
Table_schema | 索引所屬表的數據庫名 |
Table_name | 索引所屬的表名 |
Non_unique | 字段不唯一的標識 |
Index_schema | 索引所屬的數據庫名(一般與table_schema值相同) |
Index_name | 索引名稱 |
Seq_in_index |
|
Column_name | 索引列的列名 |
Collation | 校對,列值全顯示為A |
Cardinality | 基數(一般與該表的數據行數相同) |
Sub_part |
|
Packed | 是否包裝過,默認為NULL |
Nullable | 是否為空[‘’|YES|NO] |
Index_type | 索引的類型,列值全顯示為BTREE(平衡樹索引) |
Comment | 索引注釋、備注 |
SHOW DATABASES列出 MySQL Server上的數據庫。
SHOW TABLES [FROM db_name]列出數據庫中的表。
SHOW TABLE STATUS [FROM db_name]列出數據庫的表信息,比較詳細。
SHOW COLUMNS FROM tbl_name [FROMdb_name]列出表的列信息,同 SHOW FIELDSFROM tbl_name [FROM db_name],DESCRIBEtbl_name [col_name]。
SHOW FULL COLUMNS FROM tbl_name[FROM db_name]列出表的列信息,比較詳細,同 SHOW FULLFIELDS FROM tbl_name [FROM db_name]。
SHOW INDEX FROM tbl_name [FROMdb_name]列出表的索引信息。
SHOW STATUS列出 Server 的狀態信息。
SHOW VARIABLES列出 MySQL 系參數值
SHOW PROCESSLIST查看當前mysql查詢進程
SHOW GRANTS FOR user列出用戶的授權命令
新聞熱點
疑難解答