DatabaseMetaData.getIndexInfo

DatabaseMetaData.getIndexInfo示例通过DatabaseMetaData.getIndexInfo()获取索引信息。publicstaticvoidgetIndexInfo()throwsException{Connectionconn=getConnection();ResultSetrs=null;try{

大家好,又见面了,我是你们的朋友全栈君。

示例

通过 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==null

Api 说明

ResultSet getIndexInfo(String catalog,
                       String schema,
                       String table,
                       boolean unique,
                       boolean approximate)
                       throws SQLException

参数:

  • catalog : 类别名称,因为存储在此数据库中,所以它必须匹配类别名称。该参数为 “” 则检索没有类别的描述,为 null 则表示该类别名称不应用于缩小搜索范围
  • schema : 模式名称,因为存储在此数据库中,所以它必须匹配模式名称。该参数为 “” 则检索那些没有模式的描述,为 null 则表示该模式名称不应用于缩小搜索范围
  • table : 表名称,因为存储在此数据库中,所以它必须匹配表名称
  • unique : 该参数为 true 时,仅返回惟一值的索引;该参数为 false 时,返回所有索引,不管它们是否惟一
  • approximate : 该参数为 true 时,允许结果是接近的数据值或这些数据值以外的值;该参数为 false 时,要求结果是精确结果

检索给定表的索引和统计信息的描述。它们根据 NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 进行排序。
每个索引列描述都有以下列:

  • TABLE_CAT String => 表类别(可为 null)
  • TABLE_SCHEM String => 表模式(可为 null)
  • TABLE_NAME String => 表名称
  • NON_UNIQUE boolean => 索引值是否可以不惟一。TYPE 为 tableIndexStatistic 时索引值为 false
  • INDEX_QUALIFIER String => 索引类别(可为 null);TYPE 为 tableIndexStatistic 时索引类别为 null
  • INDEX_NAME String => 索引名称;TYPE 为 tableIndexStatistic 时索引名称为 null
  • TYPE short => 索引类型:
  • tableIndexStatistic – 此标识与表的索引描述一起返回的表统计信息
  • tableIndexClustered – 此为集群索引
  • tableIndexHashed – 此为散列索引
  • tableIndexOther – 此为某种其他样式的索引
  • ORDINAL_POSITION short => 索引中的列序列号;TYPE 为 tableIndexStatistic 时该序列号为零
  • COLUMN_NAME String => 列名称;TYPE 为 tableIndexStatistic 时列名称为 null
  • ASC_OR_DESC String => 列排序序列,”A” => 升序,”D” => 降序,如果排序序列不受支持,可能为 null;TYPE 为 tableIndexStatistic 时排序序列为 null
  • CARDINALITY int => TYPE 为 tableIndexStatistic 时,它是表中的行数;否则,它是索引中惟一值的数量。
  • PAGES int => TYPE 为 tableIndexStatisic 时,它是用于表的页数,否则它是用于当前索引的页数。
  • FILTER_CONDITION String => 过滤器条件,如果有的话。(可能为 null)

返回:

  • ResultSet: 每一行都是一个索引列描述
    抛出:
  • SQLException: 如果发生数据库访问错误

想了解更多精彩内容请关注我的公众号
DatabaseMetaData.getIndexInfo

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150975.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 【Redis源码分析】一个对SDSHDR5是否使用的疑问

    【Redis源码分析】一个对SDSHDR5是否使用的疑问

  • pip安装失败如何卸载_ie11安装程序无法继续

    pip安装失败如何卸载_ie11安装程序无法继续今天在安装pandas时提示Youareusingpipversion20.0.0,howeverversion21.0.1isavailable.但是在升级pip时出现了问题出现了黄字警告,提示已经安装pip20.0.0,并没有搜索到新版本但是安装需要新版本支持在一顿没用的查找后发现目录下有两个pip,包括这两个版本,删除后并没有得到改善,再次输入升级命令后,目录下新版本出现,但命令提示符窗口仍旧是相同报错。最后在尝试卸载重装时发现,我的电脑真的安装了两个pip,在输入命

    2022年10月18日
  • thinkphp+ajax 实现点击加载更多数据

    thinkphp+ajax 实现点击加载更多数据

    2021年10月30日
  • 更新jsp需要重启tomcat(如何看tomcat的端口)

    今天自己搭建的spring+springmvc+mybatis时,发现修改的Jsp页面静态数据,刷新页面不能及时生效,需要重启tomcat才能生效。把解决方法归纳如下:1、选择tomcat设置:2、进行如下设置:说明:on‘update‘action:当用户主动执行更新的时候更新    快捷键:Ctrl+F9onframedeactication:在编辑窗口失去焦点的时候更新你可以根据…

  • 怎么创建css样式表,怎样创建可反复使用的外部CSS样式表?[通俗易懂]

    怎么创建css样式表,怎样创建可反复使用的外部CSS样式表?[通俗易懂]创建可反复使用的外部CSS样式表用DreamWeaver在某网页中创建了一种CSS样式后,如果你要在另外的网页中应用该样式,你不必从新创建该CSS样式,只要你创建了外部CSS样式表文件(externalCSSstylesheet),你便可以在今后任意调用该样式表文件中的样式。为了便于管理,先在站点所在文件夹中,新建一个文件夹,取名为CSS,专门用于放置外部样式表文件(其扩展名为css)。1、在Do…

  • 男生说fb是什么梗_男生聊污是什么意思 男生会对谁聊污

    男生说fb是什么梗_男生聊污是什么意思 男生会对谁聊污男生聊污是在暗示么,肯定啊,经常聊肯定是想要发生些什么,如果能够得到回应肯定就进一步发展了。还有一种情况是为了口嗨,不管是真正的性、还是聊天是聊污,都是为了嗨,最终的目的还是为了上床。一般来讲,女生是不喜欢这样的话题,甚至讲得过份的话会觉得受到侮辱。男生一般不会随便的在女生面前讲起这些话题,讲起来肯定是有目的。费玉清其实也是一种试探,如果两个人能够聊下去,哪怕不发展到床上这种地步,但是也会聊的非常…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号