您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關MySQL中information_schema數據庫表如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
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權限才能查看該表
以下是具體示例:
MySQL查看某個字段在哪個數據庫的哪張表中:
mysql> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
例如查APPLY_ID字段在哪個數據庫的哪張表里:
mysql> select TABLE_SCHEMA,TABLE_NAME from COLUMNS where COLUMN_NAME='APPLY_ID';
+----------------------+------------+
| TABLE_SCHEMA | TABLE_NAME |
+----------------------+------------+
| ixinnuo_financial | f_apply |
| ixinnuo_financial-_T | f_apply |
| test | f_apply |
+----------------------+------------+
3 rows in set (0.06 sec)
MySQL查詢某張表在哪個數據庫里:
例如查看t_zcfzb表在哪個數據庫里:
mysql> select TABLE_SCHEMA from tables where table_name='t_zcfzb';
+----------------------+
| TABLE_SCHEMA |
+----------------------+
| ixinnuo_financial |
| ixinnuo_financial-_T |
| test |
+----------------------+
3 rows in set (0.00 sec)
結果顯示t_zcfzb在三個數據里都有.
查詢MySQL中某個數據庫中有多少張表:
例如查看test數據庫:
mysql> SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = 'test' GROUP BY table_schema;
+--------+--------------+
| TABLES | table_schema |
+--------+--------------+
| 34 | test |
+--------+--------------+
1 row in set (0.00 sec)
查詢MySQL中某個數據庫中某個表里有多少列:
例如:
mysql> select count(*) from columns where TABLE_NAME='t_zcfzb' and TABLE_SCHEMA='test';
+----------+
| count(*) |
+----------+
| 13 |
+----------+
1 row in set (0.00 sec)
結果顯示test庫里t_zcfzb表有13列.
看完上述內容,你們對MySQL中information_schema數據庫表如何使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。