新聞中心
什么是INFORMATION_SCHEMA
INFORMATION_SCHEMA是MySQL數(shù)據(jù)庫中的一個特殊數(shù)據(jù)庫,它包含了關(guān)于所有數(shù)據(jù)庫、表、列、索引等對象的元數(shù)據(jù)信息,這些信息可以幫助我們了解數(shù)據(jù)庫的結(jié)構(gòu),以及對數(shù)據(jù)庫進行管理和維護,INFORMATION_SCHEMA中的數(shù)據(jù)以表格的形式展示,每個表格都有一個唯一的名稱,如表名、列名等。

如何使用INFORMATION_SCHEMA
1、查詢數(shù)據(jù)庫列表
要查詢INFORMATION_SCHEMA中的數(shù)據(jù)庫列表,可以使用以下SQL語句:
SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA;
2、查詢表列表
要查詢某個數(shù)據(jù)庫中的表列表,可以使用以下SQL語句:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名';
3、查詢列信息
要查詢某個表的列信息,可以使用以下SQL語句:
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, EXTRA FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名' AND TABLE_NAME = '表名';
4、查詢索引信息
要查詢某個表的索引信息,可以使用以下SQL語句:
SELECT INDEX_NAME, COLUMN_NAME, INDEX_TYPE, NON_UNIQUE, SEQ_IN_INDEX, INDEX_COMMENT FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名' AND TABLE_NAME = '表名';
5、查詢外鍵約束信息
要查詢某個表的外鍵約束信息,可以使用以下SQL語句:
SELECT KCU.REFERENCED_TABLE_SCHEMA, KCU.REFERENCED_TABLE_NAME, KCU.REFERENCED_COLUMN_NAME, KCU.UPDATE_RULE, KCU.DELETE_RULE, KCU.FK_NAME, KCU.PK_NAME, KCU.DEFERRABILITY FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC ON KCU.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA AND KCU.CONSTRAINT_NAME = RC.CONSTRAINT_NAME WHERE RC.CONSTRAINT_SCHEMA = '數(shù)據(jù)庫名' AND RC.CONSTRAINT_NAME = '外鍵約束名';
6、查詢視圖信息
要查詢某個數(shù)據(jù)庫中的視圖信息,可以使用以下SQL語句:
SELECT TABLE_NAME, VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = '數(shù)據(jù)庫名';
7、查詢存儲過程和函數(shù)信息
要查詢某個數(shù)據(jù)庫中的存儲過程和函數(shù)信息,可以使用以下SQL語句:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = '數(shù)據(jù)庫名' AND ROUTINE_TYPE = 'FUNCTION' UNION ALL SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = '數(shù)據(jù)庫名' AND ROUTINE_TYPE = 'PROCEDURE';
相關(guān)問題與解答
1、INFORMATION_SCHEMA中有哪些類型的元數(shù)據(jù)?
答:INFORMATION_SCHEMA中包含的元數(shù)據(jù)類型有:表(TABLE)、列(COLUMN)、索引(INDEX)、外鍵(FOREIGN KEY)、視圖(VIEW)、存儲過程(ROUTINE)和觸發(fā)器(TRIGGER)。
2、如何刪除INFORMATION_SCHEMA中的某個視圖?
答:在MySQL中,視圖實際上是一個虛擬表,它是基于其他表的查詢結(jié)果生成的,不能直接刪除視圖,如果需要刪除視圖,可以先刪除依賴于該視圖的所有表和視圖引用,然后再刪除視圖本身,具體操作如下:
DROP VIEW view_name; -刪除視圖本身 DROP TABLE table1; -刪除依賴于視圖的表1 DROP TABLE table2; -刪除依賴于視圖的表2; -如果還有其他表依賴于該視圖,依次刪除這些表即可。
網(wǎng)頁名稱:mysql信息
文章地址:http://m.5511xx.com/article/dhecpij.html


咨詢
建站咨詢
