您好,登錄后才能下訂單哦!
這篇文章主要介紹“Mysql怎么查詢所有表和字段信息”,在日常操作中,相信很多人在Mysql怎么查詢所有表和字段信息問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql怎么查詢所有表和字段信息”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
information_schema數據庫是MySQL自帶的,它提供了訪問數據庫元數據的方式。
元數據:元數據是關于數據的數據,如數據庫名或表名,列的數據類型,或訪問權限等。有些時候用于表述該信息的其他術語包括“數據字典”和“系統目錄”。
在MySQL中,把information_schema看作是一個數據庫,確切說是信息數據庫。其中保存著關于MySQL服務器所維護的所有其他數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權限等。
information_schema數據庫表說明:
schemata表:提供了當前mysql實例中所有數據庫的信息。是show databases的結果取之此表。
tables表:提供了關于數據庫中的表的信息(包括視圖)。詳細表述了某個表屬于哪個schema,表類型,表引擎,創建時間等信息。是show tables from schemaname的結果取之此表。
columns表:提供了表中的列信息。詳細表述了某張表的所有列以及每個列的信息。是show columns from schemaname.tablename的結果取之此表。
statistics表:提供了關于表索引的信息。是show index from schemaname.tablename的結果取之此表。
user_privileges(用戶權限表)表:給出了關于用戶權限的信息。該信息源自mysql.user授權表。是非標準表。
schema_privileges(方案權限表)表:給出了關于方案(數據庫)權限的信息。該信息來自mysql.db授權表。是非標準表。
table_privileges(表權限)表:給出了關于表權限的信息。該信息源自mysql.tables_priv授權表。是非標準表。
column_privileges(列權限)表:給出了關于列權限的信息。該信息源自mysql.columns_priv授權表。是非標準表。
character_sets(字符集)表:提供了mysql實例可用字符集的信息。是show character set結果集取之此表。
collations表:提供了關于各字符集的對照信息。
collation_character_set_applicability表:指明了可用于校對的字符集。這些列等效于show collation的前兩個顯示字段。
table_constraints表:描述了存在約束的表。以及表的約束類型。
key_column_usage表:描述了具有約束的鍵列。
routines表:提供了關于存儲子程序(存儲程序和函數)的信息。此時,routines表不包含自定義函數(UDF)。名為“mysql.proc name”的列指明了對應于information_schema.routines表的mysql.proc表列。
views表:給出了關于數據庫中的視圖的信息。需要有show views權限,否則無法查看視圖信息。
triggers表:提供了關于觸發程序的信息。必須有super權限才能查看該表。
select * from information_schema.schemata; select * from information_schema.tables; select * from information_schema.columns; select * from information_schema.statistics; select * from information_schema.user_privileges; select * from information_schema.schema_privileges; select * from information_schema.table_privileges; select * from information_schema.column_privileges; select * from information_schema.character_sets; select * from information_schema.collations; select * from information_schema.collation_character_set_applicability; select * from information_schema.table_constraints; select * from information_schema.key_column_usage; select * from information_schema.routines; select * from information_schema.views; select * from information_schema.triggers;
【information_schema.`TABLES`】
select * from information_schema. tables where table_schema = '庫名';
【information_schema.`COLUMNS`】
select * from information_schema. columns
select c.table_schema as '庫名', t.table_name as '表名', t.table_comment as '表注釋', c.column_name as '列名', c.column_comment as '列注釋', c.ordinal_position as '列的排列順序', c.column_default as '默認值', c.is_nullable as '是否為空', c.data_type as '數據類型', c.character_maximum_length as '字符最大長度', c.numeric_precision as '數值精度(最大位數)', c.numeric_scale as '小數精度', c.column_type as 列類型, c.column_key 'KEY', c.extra as '額外說明' from information_schema. tables t left join information_schema. columns c on t.table_name = c.table_name and t.table_schema = c.table_schema where t.table_schema = 'dvmdm' order by c.table_name, c.ordinal_position;
select group_concat(table_schema separator ',') as '庫名', group_concat(table_name separator ',') as '表名', column_name as '列名', group_concat(column_type separator ',') as '列類型', group_concat(column_comment separator ',') as '注釋' from information_schema. columns where table_schema in ('庫1', '庫2', '庫3') group by column_name order by group_concat(table_schema separator ','), column_name
到此,關于“Mysql怎么查詢所有表和字段信息”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。