DatabaseMetaData.getIndexInfo
生活随笔
收集整理的這篇文章主要介紹了
DatabaseMetaData.getIndexInfo
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
示例
通過 DatabaseMetaData.getIndexInfo() 獲取索引信息。
public static void getIndexInfo() throws Exception {Connection conn = getConnection();ResultSet rs = null;try {DatabaseMetaData dbmd = conn.getMetaData();rs = dbmd.getIndexInfo("test", "test", "uspider_task", false, false);ResultSetMetaData md = rs.getMetaData();while (rs.next()) {for (int i = 1; i <= md.getColumnCount(); i++) {System.out.println(md.getColumnName(i) + "==" + rs.getObject(i));}}} catch (SQLException e) {e.printStackTrace();} finally {conn.close();}}輸出信息如下:
TABLE_CAT==test TABLE_SCHEM==null TABLE_NAME==uspider_task NON_UNIQUE==false INDEX_QUALIFIER== INDEX_NAME==PRIMARY TYPE==3 ORDINAL_POSITION==1 COLUMN_NAME==task_id ASC_OR_DESC==A CARDINALITY==0 PAGES==0 FILTER_CONDITION==nullApi 說明
ResultSet getIndexInfo(String catalog,String schema,String table,boolean unique,boolean approximate)throws SQLException參數(shù):
- catalog : 類別名稱,因?yàn)榇鎯?chǔ)在此數(shù)據(jù)庫中,所以它必須匹配類別名稱。該參數(shù)為 “” 則檢索沒有類別的描述,為 null 則表示該類別名稱不應(yīng)用于縮小搜索范圍
- schema : 模式名稱,因?yàn)榇鎯?chǔ)在此數(shù)據(jù)庫中,所以它必須匹配模式名稱。該參數(shù)為 “” 則檢索那些沒有模式的描述,為 null 則表示該模式名稱不應(yīng)用于縮小搜索范圍
- table : 表名稱,因?yàn)榇鎯?chǔ)在此數(shù)據(jù)庫中,所以它必須匹配表名稱
- unique : 該參數(shù)為 true 時(shí),僅返回惟一值的索引;該參數(shù)為 false 時(shí),返回所有索引,不管它們是否惟一
- approximate : 該參數(shù)為 true 時(shí),允許結(jié)果是接近的數(shù)據(jù)值或這些數(shù)據(jù)值以外的值;該參數(shù)為 false 時(shí),要求結(jié)果是精確結(jié)果
檢索給定表的索引和統(tǒng)計(jì)信息的描述。它們根據(jù) NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 進(jìn)行排序。
每個(gè)索引列描述都有以下列:
- TABLE_CAT String => 表類別(可為 null)
- TABLE_SCHEM String => 表模式(可為 null)
- TABLE_NAME String => 表名稱
- NON_UNIQUE boolean => 索引值是否可以不惟一。TYPE 為 tableIndexStatistic 時(shí)索引值為 false
- INDEX_QUALIFIER String => 索引類別(可為 null);TYPE 為 tableIndexStatistic 時(shí)索引類別為 null
- INDEX_NAME String => 索引名稱;TYPE 為 tableIndexStatistic 時(shí)索引名稱為 null
- TYPE short => 索引類型:
- tableIndexStatistic - 此標(biāo)識(shí)與表的索引描述一起返回的表統(tǒng)計(jì)信息
- tableIndexClustered - 此為集群索引
- tableIndexHashed - 此為散列索引
- tableIndexOther - 此為某種其他樣式的索引
- ORDINAL_POSITION short => 索引中的列序列號(hào);TYPE 為 tableIndexStatistic 時(shí)該序列號(hào)為零
- COLUMN_NAME String => 列名稱;TYPE 為 tableIndexStatistic 時(shí)列名稱為 null
- ASC_OR_DESC String => 列排序序列,”A” => 升序,”D” => 降序,如果排序序列不受支持,可能為 null;TYPE 為 tableIndexStatistic 時(shí)排序序列為 null
- CARDINALITY int => TYPE 為 tableIndexStatistic 時(shí),它是表中的行數(shù);否則,它是索引中惟一值的數(shù)量。
- PAGES int => TYPE 為 tableIndexStatisic 時(shí),它是用于表的頁數(shù),否則它是用于當(dāng)前索引的頁數(shù)。
- FILTER_CONDITION String => 過濾器條件,如果有的話。(可能為 null)
返回:
- ResultSet: 每一行都是一個(gè)索引列描述
拋出: - SQLException: 如果發(fā)生數(shù)據(jù)庫訪問錯(cuò)誤
想了解更多精彩內(nèi)容請(qǐng)關(guān)注我的公眾號(hào)
總結(jié)
以上是生活随笔為你收集整理的DatabaseMetaData.getIndexInfo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 的 System.getenv
- 下一篇: Java 注解 Annotation