DatabaseMetaData 接口

DatabaseMetaData 接口  DatabaseMetaData接口DatabaseMetaData接口作为整体提供有关数据库的综合信息。其中某些方法采用“字符串”自变量作为目录和模式名称。DB2Everyplace忽略这些自变量。此处的某些方法以ResultSet对象的格式返回信息列表。可以使用正常ResultSet方法(如getString和getInt)来从这些Res

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

 

DatabaseMetaData 接口



DatabaseMetaData 接口作为整体提供有关数据库的综合信息。

其中某些方法采用“字符串”自变量作为目录和模式名称。DB2 Everyplace 忽略这些自变量。

此处的某些方法以 ResultSet 对象的格式返回信息列表。可以使用正常 ResultSet 方法(如 getString 和 getInt)来从这些 ResultSet 中检索数据。

如果元数据的给定形式不可用,则这些方法抛出 SQLException。

java.sql 包

公共接口 DatabaseMetaData

表 98 列示 DatabaseMetaData 接口中 DB2 Everyplace 支持的字段。

表 98. DatabaseMetaData 字段

字段类型 字段
static int columnNoNulls 指示该列可能不允许 NULL 值。
static int columnNullable 指示该列明确允许 NULL 值。
static int columnNullableUnknown 指示列的可空性未知。

表 99 列示 DatabaseMetaData 接口中 DB2 Everyplace 支持的方法。

表 99. DatabaseMetaData 接口方法

方法返回值类型 方法
ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 获取指定目录中可用的表列的描述。
Connection getConnection() JDBC 2.0 检索生成此元数据对象的连接。
ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) 获取外键表中引用主键表的主键列的外键列的描述(描述一个表如何导入另一个键。)正常情况下应返回单个外键/主键对(大多数表仅从表导入某个外键一次。)按 FKTABLE_NAME 和 KEY_SEQ 排序它们。
String getDatabaseProductName() 此数据库产品的名称是什么?
String getDatabaseProductVersion() 此数据库产品的版本是什么?
int getDriverMajorVersion() 此 JDBC 驱动程序的主版本号是什么?
int getDriverMinorVersion()此 JDBC 驱动程序的次版本号是什么?
String getDriverName() 此 JDBC 驱动程序的名称是什么?
String getDriverVersion() 此 JDBC 驱动程序的版本是什么?
ResultSet getExportedKeys(String catalog, String schema, String table) 获取引用表的主键列的外键列的描述(由表导出外键)。
String getIdentifierQuoteString() 什么是用来将 SQL 标识引起的字符串?如果不支持将标识加引号,则返回空格“ ”。
ResultSet getImportedKeys(String catalog, String schema, String table) 获取由表的外键列引用的主键列的描述(由表导入的主键)。
int getMaxBinaryLiteralLength() 直接插入的二进制文字内可以具有多少个十六进制字符?
int getMaxCharLiteralLength() 字符文字的最大长度是多少?
int getMaxColumnNameLength() 列名长度的限制是多少?
int getMaxColumnsInGroupBy() GROUP BY 子句中的最大列数是多少?
int getMaxColumnsInIndex() 索引内允许的最大列数是多少?
int getMaxColumnsInOrderBy() ORDER BY 子句中的最大列数是多少?
int getMaxColumnsInSelect() SELECT 语句中的最大列数是多少?
int getMaxConnections() 每次可以有多少个与此数据库的活动连接?
int getMaxIndexLength() 索引的最大长度是多少(以字节计)?
int getMaxRowSize() 单行的最大长度是多少?
int getMaxStatementLength() SQL 语句的最大长度是多少?
int getMaxStatements() 每次可以对此数据库打开多少个活动的语句?
int getMaxTableNameLength() 表名的最大长度是多少?
int getMaxTablesInSelect() SELECT 语句中最大表数是多少?
int getMaxUserNameLength() 用户名的最大长度是多少?
ResultSet getPrimaryKeys(String catalog, String schema, String table) 获取表的主键列的描述。
String getSearchStringEscape() 获取可用于将通配符转义的字符串。
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) 获取目录中可用的表的描述。
ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) JDBC 2.0 获取在特定模式中定义的用户定义类型的描述。DB2 Everyplace 总是返回空的结果集,原因是它不支持 UDT。
String getURL() 此数据库的 URL 是什么?
String getUserName() 数据库所知的用户名是什么?
boolean supportsColumnAliasing() 支持列别名判别吗?
boolean supportsFullOuterJoins() 支持全嵌套外连接吗?
boolean supportsMixedCaseIdentifiers() 数据库要将混合大小写且未加引号的 SQL 标识视作区分大小写并从而以混合大小写方式存储它们吗?
boolean supportsMixedCaseQuotedIdentifiers() 数据库要将混合大小写且加了引号的 SQL 标识视作区分大小写并从而以混合大小写方式存储它们吗?
boolean supportsNonNullableColumns() 列可以定义为不可空吗?
boolean supportsOrderByUnrelated() “ORDER BY”子句可以使用不在 SELECT 语句中的列吗?
boolean supportsOuterJoins() 支持某种形式的外连接吗?
boolean supportsPositionedDelete() 支持定位 DELETE 吗?
boolean supportsPositionedUpdate() 支持定位 UPDATE 吗?
boolean supportsResultSetType(int type) JDBC 2.0 数据库支持给定结果集类型吗?
boolean supportsSchemasInTableDefinitions() 可以在表定义语句中使用模式名吗?
boolean supportsTransactions() 事务受支持吗?如果不受支持,则隔离级别是 TRANSACTION_NONE。

相关任务

相关参考

 

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151002.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 常见状态码[通俗易懂]

    常见状态码[通俗易懂]常见状态码

    2022年4月22日
    50
  • python安装numpy后pycharm导入不了_python的numpy库

    python安装numpy后pycharm导入不了_python的numpy库pycharm安装numpy失败的解决办法在pycharm中安装numpy时报错ValueError:check_hostnamerequiresserver_hostname始终无法安装发现最后一行跟hostname相关,就百度了一下发现这篇文章:ValueError:check_hostnamerequiresserver_hostname的解决办法记录发现是因为打开了VPN导致系统代理不正常关掉代理即可安装成功:…

    2022年8月25日
    11
  • native ascii_编码转换在线

    native ascii_编码转换在线1、获取native2ascii:安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录,其中native2ascii.exe正是。2、native2ascii的命令行的命名格式:native2ascii-[options][inputfile[outputfile]]说明:-[options]:表示命令开关,有两个选项可供选择-r…

    2025年10月31日
    3
  • Activity启动模式SingleTask和Intent.FLAG_ACTIVITY_CLEAR_TOP区别

    Activity启动模式SingleTask和Intent.FLAG_ACTIVITY_CLEAR_TOP区别Activity启动模式介绍Android启动模式之前,先介绍两个概念task和taskAffinity task:翻译过来就是“任务”,是一组相互有关联的activity集合,可以理解为Activity是在task里面活动的。task存在于一个称为backstack的数据结构中,也就是说,task是以栈的形式去管理activity的,所以也叫可以称为“…

    2022年7月17日
    17
  • linux下luajit安装

    linux下luajit安装#cd /usr/local/#wget http://luajit.org/download/LuaJIT-2.0.4.tar.gz#tar zxvf LuaJIT-2.0.4.tar.gz编辑src/Makefile,注释DLUAJIT_ENABLE_LUA52COMPAT所在的行#make & make install

    2022年10月7日
    5
  • pycharm最新激活码2021【2021最新】

    (pycharm最新激活码2021)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月28日
    78

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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