模块 java.sql
 java.sql

接口 DatabaseMetaData

所有父级接口:
Wrapper

public interface DatabaseMetaData extends Wrapper
有关整个数据库的综合信息。

此接口由驱动程序供应商实现,目的是让用户了解数据库管理系统 (DBMS) 与基于 JDBC 技术的驱动程序(“JDBC 驱动程序”)结合使用的功能。不同的关系型 DBMS 通常支持不同的特性,以不同的方式实现特性,并使用不同的数据类型。此外,驱动程序可以在 DBMS 提供的功能之上实现功能。此接口中的方法返回的信息适用于特定驱动程序和特定 DBMS 协同工作的功能。请注意,在本文档中,术语“数据库”通常用于指代驱动程序和 DBMS。

此接口的用户通常是需要发现如何处理底层 DBMS 的工具。对于旨在与多个 DBMS 一起使用的应用程序尤其如此。例如,工具可能会使用方法 getTypeInfo 来找出可以在 CREATE TABLE 语句中使用的数据类型。或者用户可以调用方法 supportsCorrelatedSubqueries 来查看是否可以使用相关子查询或 supportsBatchUpdates 来查看是否可以使用批量更新。

某些 DatabaseMetaData 方法以 ResultSet 对象的形式返回信息列表。常规的 ResultSet 方法(例如 getStringgetInt )可用于从这些 ResultSet 对象中检索数据。如果给定形式的元数据不可用,将返回一个空的 ResultSetResultSet 对象为给定方法返回的列之外的其他列可以由 JDBC 驱动程序供应商定义,并且必须由他们的访问列标签.

一些 DatabaseMetaData 方法采用字符串模式的参数。这些参数都有名称,例如 fooPattern。在一个模式字符串中,“%”表示匹配0个或多个字符的任意子串,“_”表示匹配任意一个字符。仅返回与搜索模式匹配的元数据条目。如果搜索模式参数设置为 null ,则该参数的条件将从搜索中删除。

自从:
1.1
  • 字段详细信息

    • procedureResultUnknown

      static final int procedureResultUnknown
      表示不知道过程是否返回结果。

      getProcedures 方法返回的 ResultSet 对象中列 PROCEDURE_TYPE 的可能值。

      参见:
    • procedureNoResult

      static final int procedureNoResult
      表示该过程不返回结果。

      getProcedures 方法返回的 ResultSet 对象中列 PROCEDURE_TYPE 的可能值。

      参见:
    • procedureReturnsResult

      static final int procedureReturnsResult
      指示过程返回结果。

      getProcedures 方法返回的 ResultSet 对象中列 PROCEDURE_TYPE 的可能值。

      参见:
    • procedureColumnUnknown

      static final int procedureColumnUnknown
      表示列的类型未知。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureColumnIn

      static final int procedureColumnIn
      表示该列存储 IN 参数。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureColumnInOut

      static final int procedureColumnInOut
      表示该列存储 INOUT 参数。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureColumnOut

      static final int procedureColumnOut
      表示该列存储 OUT 参数。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureColumnReturn

      static final int procedureColumnReturn
      指示该列存储返回值。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureColumnResult

      static final int procedureColumnResult
      表示该列存储结果。

      方法 getProcedureColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • procedureNoNulls

      static final int procedureNoNulls
      表示不允许使用 NULL 值。

      getProcedureColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • procedureNullable

      static final int procedureNullable
      表示允许 NULL 值。

      getProcedureColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • procedureNullableUnknown

      static final int procedureNullableUnknown
      表示是否允许 NULL 值是未知的。

      getProcedureColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • columnNoNulls

      static final int columnNoNulls
      表示该列可能不允许 NULL 值。

      方法 getColumns 返回的 ResultSet 中列 NULLABLE 的可能值。

      参见:
    • columnNullable

      static final int columnNullable
      表示该列绝对允许 NULL 值。

      方法 getColumns 返回的 ResultSet 中列 NULLABLE 的可能值。

      参见:
    • columnNullableUnknown

      static final int columnNullableUnknown
      指示列的可空性未知。

      方法 getColumns 返回的 ResultSet 中列 NULLABLE 的可能值。

      参见:
    • bestRowTemporary

      static final int bestRowTemporary
      表示最佳行标识符的范围是非常临时的,仅在行被使用时持续存在。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 SCOPE 的可能值。

      参见:
    • bestRowTransaction

      static final int bestRowTransaction
      指示最佳行标识符的范围是当前事务的剩余部分。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 SCOPE 的可能值。

      参见:
    • bestRowSession

      static final int bestRowSession
      指示最佳行标识符的范围是当前会话的剩余部分。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 SCOPE 的可能值。

      参见:
    • bestRowUnknown

      static final int bestRowUnknown
      指示最佳行标识符可能是也可能不是伪列。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • bestRowNotPseudo

      static final int bestRowNotPseudo
      指示最佳行标识符不是伪列。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • bestRowPseudo

      static final int bestRowPseudo
      指示最佳行标识符是一个伪列。

      getBestRowIdentifier 方法返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • versionColumnUnknown

      static final int versionColumnUnknown
      指示此版本列可能是也可能不是伪列。

      方法 getVersionColumns 返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • versionColumnNotPseudo

      static final int versionColumnNotPseudo
      指示此版本列不是伪列。

      方法 getVersionColumns 返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • versionColumnPseudo

      static final int versionColumnPseudo
      表明这个版本列是一个伪列。

      方法 getVersionColumns 返回的 ResultSet 对象中列 PSEUDO_COLUMN 的可能值。

      参见:
    • importedKeyCascade

      static final int importedKeyCascade
      对于 UPDATE_RULE 列,表示当主键更新时,外键(导入的键)被更改为与其一致。对于 DELETE_RULE 列,它表示删除主键时,删除导入该键的行。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中的列 UPDATE_RULEDELETE_RULE 的可能值。

      参见:
    • importedKeyRestrict

      static final int importedKeyRestrict
      对于列 UPDATE_RULE ,表示如果主键已被另一个表导入为外键,则可能不会更新主键。对于 DELETE_RULE 列,表示如果主键已被其他表导入为外键,则不能删除该主键。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中的列 UPDATE_RULEDELETE_RULE 的可能值。

      参见:
    • importedKeySetNull

      static final int importedKeySetNull
      对于 UPDATE_RULEDELETE_RULE 列,表示更新或删除主键时,外键(导入的键)更改为 NULL

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中的列 UPDATE_RULEDELETE_RULE 的可能值。

      参见:
    • importedKeyNoAction

      static final int importedKeyNoAction
      对于 UPDATE_RULEDELETE_RULE 列,表示如果已导入主键,则无法更新或删除。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中的列 UPDATE_RULEDELETE_RULE 的可能值。

      参见:
    • importedKeySetDefault

      static final int importedKeySetDefault
      对于 UPDATE_RULEDELETE_RULE 列,表示如果更新或删除主键,则外键(导入键)设置为默认值。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中的列 UPDATE_RULEDELETE_RULE 的可能值。

      参见:
    • importedKeyInitiallyDeferred

      static final int importedKeyInitiallyDeferred
      表示可延期性。有关定义,请参阅 SQL-92。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中列 DEFERRABILITY 的可能值。

      参见:
    • importedKeyInitiallyImmediate

      static final int importedKeyInitiallyImmediate
      表示可延期性。有关定义,请参阅 SQL-92。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中列 DEFERRABILITY 的可能值。

      参见:
    • importedKeyNotDeferrable

      static final int importedKeyNotDeferrable
      表示可延期性。有关定义,请参阅 SQL-92。

      getImportedKeysgetExportedKeysgetCrossReference 方法返回的 ResultSet 对象中列 DEFERRABILITY 的可能值。

      参见:
    • typeNoNulls

      static final int typeNoNulls
      表示此数据类型不允许使用 NULL 值。

      getTypeInfo 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • typeNullable

      static final int typeNullable
      表示此数据类型允许使用 NULL 值。

      getTypeInfo 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • typeNullableUnknown

      static final int typeNullableUnknown
      表示不知道此数据类型是否允许使用 NULL 值。

      getTypeInfo 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • typePredNone

      static final int typePredNone
      表示此类型不支持 WHERE 搜索子句。

      getTypeInfo 方法返回的 ResultSet 对象中列 SEARCHABLE 的可能值。

      参见:
    • typePredChar

      static final int typePredChar
      指示该数据类型只能在使用 LIKE 谓词的 WHERE 搜索子句中使用。

      getTypeInfo 方法返回的 ResultSet 对象中列 SEARCHABLE 的可能值。

      参见:
    • typePredBasic

      static final int typePredBasic
      表示该数据类型只能在不使用LIKE谓词的WHERE搜索子句中使用。

      getTypeInfo 方法返回的 ResultSet 对象中列 SEARCHABLE 的可能值。

      参见:
    • typeSearchable

      static final int typeSearchable
      表示所有WHERE搜索子句都可以基于这个类型。

      getTypeInfo 方法返回的 ResultSet 对象中列 SEARCHABLE 的可能值。

      参见:
    • tableIndexStatistic

      static final short tableIndexStatistic
      指示此列包含与表的索引描述一起返回的表统计信息。

      getIndexInfo 方法返回的 ResultSet 对象中列 TYPE 的可能值。

      参见:
    • tableIndexClustered

      static final short tableIndexClustered
      指示此表索引是聚集索引。

      getIndexInfo 方法返回的 ResultSet 对象中列 TYPE 的可能值。

      参见:
    • tableIndexHashed

      static final short tableIndexHashed
      指示此表索引是散列索引。

      getIndexInfo 方法返回的 ResultSet 对象中列 TYPE 的可能值。

      参见:
    • tableIndexOther

      static final short tableIndexOther
      表明这个表索引不是聚簇索引、散列索引或表统计信息;它不是这些。

      getIndexInfo 方法返回的 ResultSet 对象中列 TYPE 的可能值。

      参见:
    • attributeNoNulls

      static final short attributeNoNulls
      表示可能不允许使用 NULL 值。

      方法 getAttributes 返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • attributeNullable

      static final short attributeNullable
      表示绝对允许 NULL 值。

      方法 getAttributes 返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • attributeNullableUnknown

      static final short attributeNullableUnknown
      表示是否允许NULL值是未知的。

      方法 getAttributes 返回的 ResultSet 对象中列 NULLABLE 的可能值。

      参见:
    • sqlStateXOpen

      static final int sqlStateXOpen
      方法 DatabaseMetaData.getSQLStateType 的可能返回值,用于指示方法 SQLException.getSQLState 返回的值是否为 X/Open(现在称为 Open Group)SQL CLI SQLSTATE 值。
      自从:
      1.4
      参见:
    • sqlStateSQL

      static final int sqlStateSQL
      方法DatabaseMetaData.getSQLStateType的可能返回值,用于指示方法SQLException.getSQLState返回的值是否为SQLSTATE值。
      自从:
      1.6
      参见:
    • sqlStateSQL99

      static final int sqlStateSQL99
      方法DatabaseMetaData.getSQLStateType的可能返回值,用于指示方法SQLException.getSQLState返回的值是否为SQL99 SQLSTATE值。

      笔记:此常量仅出于兼容性原因而保留。开发人员应该改用常量 sqlStateSQL

      自从:
      1.4
      参见:
    • functionColumnUnknown

      static final int functionColumnUnknown
      指示参数或列的类型未知。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      参见:
    • functionColumnIn

      static final int functionColumnIn
      指示参数或列是 IN 参数。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionColumnInOut

      static final int functionColumnInOut
      指示参数或列是 INOUT 参数。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionColumnOut

      static final int functionColumnOut
      指示参数或列是 OUT 参数。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionReturn

      static final int functionReturn
      指示参数或列是返回值。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionColumnResult

      static final int functionColumnResult
      指示参数或列是结果集中的列。

      方法 getFunctionColumns 返回的 ResultSet 中列 COLUMN_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionNoNulls

      static final int functionNoNulls
      表示不允许使用 NULL 值。

      getFunctionColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      自从:
      1.6
      参见:
    • functionNullable

      static final int functionNullable
      表示允许 NULL 值。

      getFunctionColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      自从:
      1.6
      参见:
    • functionNullableUnknown

      static final int functionNullableUnknown
      表示是否允许 NULL 值是未知的。

      getFunctionColumns 方法返回的 ResultSet 对象中列 NULLABLE 的可能值。

      自从:
      1.6
      参见:
    • functionResultUnknown

      static final int functionResultUnknown
      表示不知道函数返回的是结果还是表。

      getFunctions 方法返回的 ResultSet 对象中列 FUNCTION_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionNoTable

      static final int functionNoTable
      表示该函数不返回表。

      getFunctions 方法返回的 ResultSet 对象中列 FUNCTION_TYPE 的可能值。

      自从:
      1.6
      参见:
    • functionReturnsTable

      static final int functionReturnsTable
      指示该函数返回一个表。

      getFunctions 方法返回的 ResultSet 对象中列 FUNCTION_TYPE 的可能值。

      自从:
      1.6
      参见:
  • 方法详情

    • allProceduresAreCallable

      boolean allProceduresAreCallable() throws SQL异常
      检索当前用户是否可以调用方法 getProcedures 返回的所有过程。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • allTablesAreSelectable

      boolean allTablesAreSelectable() throws SQL异常
      检索当前用户是否可以在 SELECT 语句中使用方法 getTables 返回的所有表。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getURL

      String  getURL() throws SQL异常
      检索此 DBMS 的 URL。
      返回:
      此 DBMS 的 URL 或 null(如果无法生成)
      抛出:
      SQLException - 如果发生数据库访问错误
    • getUserName

      String  getUserName() throws SQL异常
      检索此数据库已知的用户名。
      返回:
      数据库用户名
      抛出:
      SQLException - 如果发生数据库访问错误
    • isReadOnly

      boolean isReadOnly() throws SQL异常
      检索此数据库是否处于只读模式。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • nullsAreSortedHigh

      boolean nullsAreSortedHigh() throws SQL异常
      检索 NULL 值是否排序高。排序高意味着 NULL 值排序高于域中的任何其他值。在升序中,如果此方法返回 trueNULL 值将出现在末尾。相比之下,方法 nullsAreSortedAtEnd 指示 NULL 值是否在末尾排序,而不考虑排序顺序。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • nullsAreSortedLow

      boolean nullsAreSortedLow() throws SQL异常
      检索 NULL 值是否排序低。排序低意味着 NULL 值排序低于域中的任何其他值。在升序中,如果此方法返回 trueNULL 值将出现在开头。相比之下,方法 nullsAreSortedAtStart 指示 NULL 值是否在开头排序,而不考虑排序顺序。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • nullsAreSortedAtStart

      boolean nullsAreSortedAtStart() throws SQL异常
      检索 NULL 值是否在开始时排序,而不考虑排序顺序。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • nullsAreSortedAtEnd

      boolean nullsAreSortedAtEnd() throws SQL异常
      检索 NULL 值是否在末尾排序,而不考虑排序顺序。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDatabaseProductName

      String  getDatabaseProductName() throws SQL异常
      检索此数据库产品的名称。
      返回:
      数据库产品名称
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDatabaseProductVersion

      String  getDatabaseProductVersion() throws SQL异常
      检索此数据库产品的版本号。
      返回:
      数据库版本号
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDriverName

      String  getDriverName() throws SQL异常
      检索此 JDBC 驱动程序的名称。
      返回:
      JDBC 驱动程序名称
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDriverVersion

      String  getDriverVersion() throws SQL异常
      检索此 JDBC 驱动程序的版本号作为 String
      返回:
      JDBC 驱动程序版本
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDriverMajorVersion

      int getDriverMajorVersion()
      检索此 JDBC 驱动程序的主要版本号。
      返回:
      JDBC 驱动程序主要版本
    • getDriverMinorVersion

      int getDriverMinorVersion()
      检索此 JDBC 驱动程序的次要版本号。
      返回:
      JDBC 驱动程序次要版本号
    • usesLocalFiles

      boolean usesLocalFiles() throws SQL异常
      检索此数据库是否将表存储在本地文件中。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • usesLocalFilePerTable

      boolean usesLocalFilePerTable() throws SQL异常
      检索此数据库是否为每个表使用一个文件。
      返回:
      true 如果此数据库为每个表使用一个本地文件; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsMixedCaseIdentifiers

      boolean supportsMixedCaseIdentifiers() throws SQL异常
      检索此数据库是否将大小写混合的不带引号的 SQL 标识符视为区分大小写,并因此以大小写混合的形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesUpperCaseIdentifiers

      boolean storesUpperCaseIdentifiers() throws SQL异常
      检索此数据库是否将混合大小写的不带引号的 SQL 标识符视为不区分大小写,并以大写形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesLowerCaseIdentifiers

      boolean storesLowerCaseIdentifiers() throws SQL异常
      检索此数据库是否将混合大小写的不带引号的 SQL 标识符视为不区分大小写并以小写形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesMixedCaseIdentifiers

      boolean storesMixedCaseIdentifiers() throws SQL异常
      检索此数据库是否将混合大小写的不带引号的 SQL 标识符视为不区分大小写并将它们存储在混合大小写中。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsMixedCaseQuotedIdentifiers

      boolean supportsMixedCaseQuotedIdentifiers() throws SQL异常
      检索此数据库是否将大小写混合的带引号的 SQL 标识符视为区分大小写,并因此以大小写混合的形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesUpperCaseQuotedIdentifiers

      boolean storesUpperCaseQuotedIdentifiers() throws SQL异常
      检索此数据库是否将大小写混合的带引号的 SQL 标识符视为不区分大小写并以大写形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesLowerCaseQuotedIdentifiers

      boolean storesLowerCaseQuotedIdentifiers() throws SQL异常
      检索此数据库是否将大小写混合的带引号的 SQL 标识符视为不区分大小写并以小写形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • storesMixedCaseQuotedIdentifiers

      boolean storesMixedCaseQuotedIdentifiers() throws SQL异常
      检索此数据库是否将大小写混合的带引号的 SQL 标识符视为不区分大小写,并以大小写混合的形式存储它们。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getIdentifierQuoteString

      String  getIdentifierQuoteString() throws SQL异常
      检索用于引用 SQL 标识符的字符串。如果不支持标识符引用,则此方法返回一个空格“”。
      返回:
      引用字符串或空格(如果不支持引用)
      抛出:
      SQLException - 如果发生数据库访问错误
    • getSQLKeywords

      String  getSQLKeywords() throws SQL异常
      检索此数据库的所有 SQL 关键字的逗号分隔列表,这些关键字也不是 SQL:2003 关键字。
      返回:
      此数据库的关键字列表,这些关键字也不是 SQL:2003 关键字
      抛出:
      SQLException - 如果发生数据库访问错误
    • getNumericFunctions

      String  getNumericFunctions() throws SQL异常
      检索此数据库可用的数学函数的逗号分隔列表。这些是 JDBC 函数转义子句中使用的 Open /Open CLI 数学函数名称。
      返回:
      此数据库支持的数学函数列表
      抛出:
      SQLException - 如果发生数据库访问错误
    • getStringFunctions

      String  getStringFunctions() throws SQL异常
      检索可用于此数据库的字符串函数的逗号分隔列表。这些是 JDBC 函数转义子句中使用的 Open Group CLI 字符串函数名称。
      返回:
      此数据库支持的字符串函数列表
      抛出:
      SQLException - 如果发生数据库访问错误
    • getSystemFunctions

      String  getSystemFunctions() throws SQL异常
      检索可用于此数据库的以逗号分隔的系统函数列表。这些是 JDBC 函数转义子句中使用的 Open Group CLI 系统函数名称。
      返回:
      此数据库支持的系统功能列表
      抛出:
      SQLException - 如果发生数据库访问错误
    • getTimeDateFunctions

      String  getTimeDateFunctions() throws SQL异常
      检索此数据库可用的时间和日期函数的逗号分隔列表。
      返回:
      此数据库支持的时间和日期函数列表
      抛出:
      SQLException - 如果发生数据库访问错误
    • getSearchStringEscape

      String  getSearchStringEscape() throws SQL异常
      检索可用于转义通配符的字符串。这是可用于转义作为模式的目录搜索参数中的“_”或“%”的字符串(因此使用通配符之一)。

      '_' 字符代表任何单个字符; '%' 字符表示零个或多个字符的任意序列。

      返回:
      用于转义通配符的字符串
      抛出:
      SQLException - 如果发生数据库访问错误
    • getExtraNameCharacters

      String  getExtraNameCharacters() throws SQL异常
      检索所有可在未加引号的标识符名称中使用的“额外”字符(那些超出 az、AZ、0-9 和 _ 的字符)。
      返回:
      包含额外字符的字符串
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsAlterTableWithAddColumn

      boolean supportsAlterTableWithAddColumn() throws SQL异常
      检索此数据库是否支持 ALTER TABLE 添加列。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsAlterTableWithDropColumn

      boolean supportsAlterTableWithDropColumn() throws SQL异常
      检索此数据库是否支持带删除列的ALTER TABLE
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsColumnAliasing

      boolean supportsColumnAliasing() throws SQL异常
      检索此数据库是否支持列别名。

      如果是这样,SQL AS 子句可用于为计算列提供名称或根据需要为列提供别名。

      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • nullPlusNonNullIsNull

      boolean nullPlusNonNullIsNull() throws SQL异常
      检索此数据库是否支持 NULL 和非 NULL 值为 NULL 之间的串联。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsConvert

      boolean supportsConvert() throws SQL异常
      检索此数据库是否支持 JDBC 标量函数 CONVERT 以将一种 JDBC 类型转换为另一种。 JDBC 类型是 java.sql.Types 中定义的通用 SQL 数据类型。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsConvert

      boolean supportsConvert(int fromType, int toType) throws SQL异常
      检索此数据库是否支持 JDBC 标量函数 CONVERT 以在 JDBC 类型之间进行转换来自类型toType. JDBC 类型是 java.sql.Types 中定义的通用 SQL 数据类型。
      参数:
      fromType - 要转换的类型;来自类 java.sql.Types 的类型代码之一
      toType - 要转换为的类型;来自类 java.sql.Types 的类型代码之一
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • supportsTableCorrelationNames

      boolean supportsTableCorrelationNames() throws SQL异常
      检索此数据库是否支持表相关名称。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsDifferentTableCorrelationNames

      boolean supportsDifferentTableCorrelationNames() throws SQL异常
      检索在支持表相关名称时是否限制它们与表的名称不同。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsExpressionsInOrderBy

      boolean supportsExpressionsInOrderBy() throws SQL异常
      检索此数据库是否支持 ORDER BY 列表中的表达式。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOrderByUnrelated

      boolean supportsOrderByUnrelated() throws SQL异常
      检索此数据库是否支持使用不在 ORDER BY 子句中的 SELECT 语句中的列。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsGroupBy

      boolean supportsGroupBy() throws SQL异常
      检索此数据库是否支持某种形式的 GROUP BY 子句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsGroupByUnrelated

      boolean supportsGroupByUnrelated() throws SQL异常
      检索此数据库是否支持使用不在 GROUP BY 子句中的 SELECT 语句中的列。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsGroupByBeyondSelect

      boolean supportsGroupByBeyondSelect() throws SQL异常
      检索此数据库是否支持在 GROUP BY 子句中使用未包含在 SELECT 语句中的列,前提是 SELECT 语句中的所有列都包含在 GROUP BY 子句中。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsLikeEscapeClause

      boolean supportsLikeEscapeClause() throws SQL异常
      检索此数据库是否支持指定 LIKE 转义子句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsMultipleResultSets

      boolean supportsMultipleResultSets() throws SQL异常
      检索此数据库是否支持通过对方法 execute 的单个调用获取多个 ResultSet 对象。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsMultipleTransactions

      boolean supportsMultipleTransactions() throws SQL异常
      检索此数据库是否允许同时打开多个事务(在不同的连接上)。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsNonNullableColumns

      boolean supportsNonNullableColumns() throws SQL异常
      检索此数据库中的列是否可以定义为不可空。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsMinimumSQLGrammar

      boolean supportsMinimumSQLGrammar() throws SQL异常
      检索此数据库是否支持 ODBC Minimum SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCoreSQLGrammar

      boolean supportsCoreSQLGrammar() throws SQL异常
      检索此数据库是否支持 ODBC Core SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsExtendedSQLGrammar

      boolean supportsExtendedSQLGrammar() throws SQL异常
      检索此数据库是否支持 ODBC 扩展 SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsANSI92EntryLevelSQL

      boolean supportsANSI92EntryLevelSQL() throws SQL异常
      检索此数据库是否支持 ANSI92 入门级 SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsANSI92IntermediateSQL

      boolean supportsANSI92IntermediateSQL() throws SQL异常
      检索此数据库是否支持所支持的 ANSI92 中间 SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsANSI92FullSQL

      boolean supportsANSI92FullSQL() throws SQL异常
      检索此数据库是否支持支持的 ANSI92 完整 SQL 语法。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsIntegrityEnhancementFacility

      boolean supportsIntegrityEnhancementFacility() throws SQL异常
      检索此数据库是否支持 SQL 完整性增强工具。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOuterJoins

      boolean supportsOuterJoins() throws SQL异常
      检索此数据库是否支持某种形式的外部联接。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsFullOuterJoins

      boolean supportsFullOuterJoins() throws SQL异常
      检索此数据库是否支持完全嵌套外部联接。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsLimitedOuterJoins

      boolean supportsLimitedOuterJoins() throws SQL异常
      检索此数据库是否对外部联接提供有限支持。 (这将是 true 如果方法 supportsFullOuterJoins 返回 true )。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getSchemaTerm

      String  getSchemaTerm() throws SQL异常
      检索数据库供应商的首选术语“架构”。
      返回:
      “架构”的供应商术语
      抛出:
      SQLException - 如果发生数据库访问错误
    • getProcedureTerm

      String  getProcedureTerm() throws SQL异常
      检索数据库供应商的首选术语“过程”。
      返回:
      “过程”的供应商术语
      抛出:
      SQLException - 如果发生数据库访问错误
    • getCatalogTerm

      String  getCatalogTerm() throws SQL异常
      检索数据库供应商的首选术语“目录”。
      返回:
      “目录”的供应商术语
      抛出:
      SQLException - 如果发生数据库访问错误
    • isCatalogAtStart

      boolean isCatalogAtStart() throws SQL异常
      检索目录是否出现在完全限定表名的开头。如果没有,目录会出现在最后。
      返回:
      true 如果目录名出现在完全限定表名的开头; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getCatalogSeparator

      String  getCatalogSeparator() throws SQL异常
      检索此数据库用作目录和表名称之间分隔符的 String
      返回:
      分隔符字符串
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSchemasInDataManipulation

      boolean supportsSchemasInDataManipulation() throws SQL异常
      检索模式名称是否可以在数据操作语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSchemasInProcedureCalls

      boolean supportsSchemasInProcedureCalls() throws SQL异常
      检索架构名称是否可以在过程调用语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSchemasInTableDefinitions

      boolean supportsSchemasInTableDefinitions() throws SQL异常
      检索模式名称是否可以在表定义语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSchemasInIndexDefinitions

      boolean supportsSchemasInIndexDefinitions() throws SQL异常
      检索架构名称是否可以在索引定义语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSchemasInPrivilegeDefinitions

      boolean supportsSchemasInPrivilegeDefinitions() throws SQL异常
      检索模式名称是否可以在特权定义语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCatalogsInDataManipulation

      boolean supportsCatalogsInDataManipulation() throws SQL异常
      检索是否可以在数据操作语句中使用目录名称。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCatalogsInProcedureCalls

      boolean supportsCatalogsInProcedureCalls() throws SQL异常
      检索目录名称是否可以在过程调用语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCatalogsInTableDefinitions

      boolean supportsCatalogsInTableDefinitions() throws SQL异常
      检索目录名称是否可以在表定义语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCatalogsInIndexDefinitions

      boolean supportsCatalogsInIndexDefinitions() throws SQL异常
      检索目录名称是否可以在索引定义语句中使用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCatalogsInPrivilegeDefinitions

      boolean supportsCatalogsInPrivilegeDefinitions() throws SQL异常
      检索是否可以在权限定义语句中使用目录名称。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsPositionedDelete

      boolean supportsPositionedDelete() throws SQL异常
      检索此数据库是否支持定位的 DELETE 语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsPositionedUpdate

      boolean supportsPositionedUpdate() throws SQL异常
      检索此数据库是否支持定位的 UPDATE 语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSelectForUpdate

      boolean supportsSelectForUpdate() throws SQL异常
      检索此数据库是否支持 SELECT FOR UPDATE 语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsStoredProcedures

      boolean supportsStoredProcedures() throws SQL异常
      检索此数据库是否支持使用存储过程转义语法的存储过程调用。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSubqueriesInComparisons

      boolean supportsSubqueriesInComparisons() throws SQL异常
      检索此数据库是否支持比较表达式中的子查询。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSubqueriesInExists

      boolean supportsSubqueriesInExists() throws SQL异常
      检索此数据库是否支持 EXISTS 表达式中的子查询。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSubqueriesInIns

      boolean supportsSubqueriesInIns() throws SQL异常
      检索此数据库是否支持 IN 表达式中的子查询。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsSubqueriesInQuantifieds

      boolean supportsSubqueriesInQuantifieds() throws SQL异常
      检索此数据库是否支持量化表达式中的子查询。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsCorrelatedSubqueries

      boolean supportsCorrelatedSubqueries() throws SQL异常
      检索此数据库是否支持相关子查询。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsUnion

      boolean supportsUnion() throws SQL异常
      检索此数据库是否支持 SQL UNION
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsUnionAll

      boolean supportsUnionAll() throws SQL异常
      检索此数据库是否支持 SQL UNION ALL
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOpenCursorsAcrossCommit

      boolean supportsOpenCursorsAcrossCommit() throws SQL异常
      检索此数据库是否支持跨提交保持游标打开。
      返回:
      true 如果游标始终保持打开状态; false 如果他们可能不会保持开放
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOpenCursorsAcrossRollback

      boolean supportsOpenCursorsAcrossRollback() throws SQL异常
      检索此数据库是否支持跨回滚保持游标打开。
      返回:
      true 如果游标始终保持打开状态; false 如果他们可能不会保持开放
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOpenStatementsAcrossCommit

      boolean supportsOpenStatementsAcrossCommit() throws SQL异常
      检索此数据库是否支持跨提交保持语句打开。
      返回:
      true if 语句始终保持打开状态; false 如果他们可能不会保持开放
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsOpenStatementsAcrossRollback

      boolean supportsOpenStatementsAcrossRollback() throws SQL异常
      检索此数据库是否支持跨回滚保持语句打开。
      返回:
      true if 语句始终保持打开状态; false 如果他们可能不会保持开放
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxBinaryLiteralLength

      int getMaxBinaryLiteralLength() throws SQL异常
      检索此数据库允许在内联二进制文字中使用的最大十六进制字符数。
      返回:
      max 二进制文字的最大长度(十六进制字符);结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxCharLiteralLength

      int getMaxCharLiteralLength() throws SQL异常
      检索此数据库允许字符文字的最大字符数。
      返回:
      字符文字允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnNameLength

      int getMaxColumnNameLength() throws SQL异常
      检索此数据库允许的列名称的最大字符数。
      返回:
      列名允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnsInGroupBy

      int getMaxColumnsInGroupBy() throws SQL异常
      检索此数据库在 GROUP BY 子句中允许的最大列数。
      返回:
      允许的最大列数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnsInIndex

      int getMaxColumnsInIndex() throws SQL异常
      检索此数据库允许在索引中的最大列数。
      返回:
      允许的最大列数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnsInOrderBy

      int getMaxColumnsInOrderBy() throws SQL异常
      检索此数据库在 ORDER BY 子句中允许的最大列数。
      返回:
      允许的最大列数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnsInSelect

      int getMaxColumnsInSelect() throws SQL异常
      检索此数据库在 SELECT 列表中允许的最大列数。
      返回:
      允许的最大列数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxColumnsInTable

      int getMaxColumnsInTable() throws SQL异常
      检索此数据库允许在表中包含的最大列数。
      返回:
      允许的最大列数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxConnections

      int getMaxConnections() throws SQL异常
      检索可能的与此数据库的最大并发连接数。
      返回:
      一次可能的最大活动连接数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxCursorNameLength

      int getMaxCursorNameLength() throws SQL异常
      检索此数据库允许在游标名称中使用的最大字符数。
      返回:
      游标名称中允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxIndexLength

      int getMaxIndexLength() throws SQL异常
      检索此数据库允许索引的最大字节数,包括索引的所有部分。
      返回:
      允许的最大字节数;该限制包括指数所有组成部分的组合;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxSchemaNameLength

      int getMaxSchemaNameLength() throws SQL异常
      检索此数据库允许在架构名称中使用的最大字符数。
      返回:
      模式名称中允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxProcedureNameLength

      int getMaxProcedureNameLength() throws SQL异常
      检索此数据库允许在过程名称中使用的最大字符数。
      返回:
      过程名称中允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxCatalogNameLength

      int getMaxCatalogNameLength() throws SQL异常
      检索此数据库允许在目录名称中使用的最大字符数。
      返回:
      目录名称中允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxRowSize

      int getMaxRowSize() throws SQL异常
      检索此数据库在单行中允许的最大字节数。
      返回:
      一行允许的最大字节数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • doesMaxRowSizeIncludeBlobs

      boolean doesMaxRowSizeIncludeBlobs() throws SQL异常
      检索方法 getMaxRowSize 的返回值是否包括 SQL 数据类型 LONGVARCHARLONGVARBINARY
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxStatementLength

      int getMaxStatementLength() throws SQL异常
      检索此数据库允许在 SQL 语句中使用的最大字符数。
      返回:
      SQL 语句允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxStatements

      int getMaxStatements() throws SQL异常
      检索可同时打开的此数据库的最大活动语句数。
      返回:
      一次可以打开的最大语句数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxTableNameLength

      int getMaxTableNameLength() throws SQL异常
      检索此数据库允许在表名中使用的最大字符数。
      返回:
      表名允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxTablesInSelect

      int getMaxTablesInSelect() throws SQL异常
      检索此数据库在 SELECT 语句中允许的最大表数。
      返回:
      SELECT 语句中允许的最大表数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getMaxUserNameLength

      int getMaxUserNameLength() throws SQL异常
      检索此数据库允许在用户名中使用的最大字符数。
      返回:
      用户名允许的最大字符数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
    • getDefaultTransactionIsolation

      int getDefaultTransactionIsolation() throws SQL异常
      检索此数据库的默认事务隔离级别。可能的值在 java.sql.Connection 中定义。
      返回:
      默认隔离级别
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • supportsTransactions

      boolean supportsTransactions() throws SQL异常
      检索此数据库是否支持事务。如果不是,调用方法 commit 是一个 noop,隔离级别是 TRANSACTION_NONE
      返回:
      true 如果支持交易; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsTransactionIsolationLevel

      boolean supportsTransactionIsolationLevel(int level) throws SQL异常
      检索此数据库是否支持给定的事务隔离级别。
      参数:
      level - java.sql.Connection 中定义的事务隔离级别之一
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • supportsDataDefinitionAndDataManipulationTransactions

      boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQL异常
      检索此数据库是否支持事务中的数据定义和数据操作语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsDataManipulationTransactionsOnly

      boolean supportsDataManipulationTransactionsOnly() throws SQL异常
      检索此数据库是否仅支持事务中的数据操作语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • dataDefinitionCausesTransactionCommit

      boolean dataDefinitionCausesTransactionCommit() throws SQL异常
      检索事务中的数据定义语句是否强制事务提交。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • dataDefinitionIgnoredInTransactions

      boolean dataDefinitionIgnoredInTransactions() throws SQL异常
      检索此数据库是否忽略事务中的数据定义语句。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
    • getProcedures

      ResultSet  getProcedures(String  catalog, String  schemaPattern, String  procedureNamePattern) throws SQL异常
      检索给定目录中可用的存储过程的描述。

      仅返回与架构和过程名称标准匹配的过程描述。它们按 PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMESPECIFIC_ NAME 排序。

      每个过程描述都有以下列:

      1. PROCEDURE_CAT字符串 => 程序目录(可能是 null
      2. PROCEDURE_SCHEM字符串 => 过程模式(可能是 null
      3. PROCEDURE_NAME字符串 => 过程名称
      4. 留作将来使用
      5. 留作将来使用
      6. 留作将来使用
      7. REMARKSString => 程序的解释性注释
      8. PROCEDURE_TYPE简短的 => 类程序:
        • procedureResultUnknown - 无法确定是否会返回返回值
        • procedureNoResult - 不返回返回值
        • procedureReturnsResult - 返回一个返回值
      9. SPECIFIC_NAMEString => 在其模式中唯一标识此过程的名称。

      用户可能无权执行 getProcedures 返回的任何过程

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      procedureNamePattern - 过程名称模式;必须与存储在数据库中的过程名称相匹配
      返回:
      ResultSet - 每行是一个过程描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getProcedureColumns

      ResultSet  getProcedureColumns(String  catalog, String  schemaPattern, String  procedureNamePattern, String  columnNamePattern) throws SQL异常
      检索给定目录的存储过程参数和结果列的描述。

      仅返回与模式、过程和参数名称标准相匹配的描述。它们按 PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME 和 SPECIFIC_NAME 排序。其中,返回值(如果有)是第一个。接下来是调用顺序中的参数说明。列说明按照列号顺序排列。

      ResultSet中的每一行都是参数说明或列说明,包含以下字段:

      1. PROCEDURE_CAT字符串 => 程序目录(可能是 null
      2. PROCEDURE_SCHEM字符串 => 过程模式(可能是 null
      3. PROCEDURE_NAME字符串 => 过程名称
      4. COLUMN_NAMEString => 列/参数名称
      5. COLUMN_TYPE=> 种类的列/参数:
        • procedureColumnUnknown - 没人知道
        • procedureColumnIn - IN 参数
        • procedureColumnInOut - INOUT 参数
        • procedureColumnOut - OUT 参数
        • procedureColumnReturn - 过程返回值
        • procedureColumnResult - ResultSet 中的结果列
      6. DATA_TYPEint => 来自 java.sql.Types 的 SQL 类型
      7. TYPE_NAMEString => SQL 类型名称,对于 UDT 类型,类型名称是完全限定的
      8. PRECISIONint => 精度
      9. LENGTHint => 数据字节长度
      10. SCALEshort => scale - 对于 SCALE 不适用的数据类型,返回 null。
      11. RADIX=>基数
      12. NULLABLEshort => 是否可以包含 NULL。
        • procedureNoNulls - 不允许 NULL 值
        • procedureNullable - 允许 NULL 值
        • procedureNullableUnknown - 可空性未知
      13. REMARKS字符串 => 描述参数/列的注释
      14. COLUMN_DEF字符串 => 列的默认值,当值用单引号括起来时应解释为字符串(可能是 null
        • 字符串 NULL(不包含在引号中)- 如果 NULL 被指定为默认值
        • TRUNCATE(不包含在引号中)- 如果不截断就不能表示指定的默认值
        • NULL - 如果未指定默认值
      15. SQL_DATA_TYPEint => 保留供将来使用
      16. SQL_DATETIME_SUBint => 保留供将来使用
      17. CHAR_OCTET_LENGTHint => 基于二进制和字符的列的最大长度。对于任何其他数据类型,返回值为 NULL
      18. ORDINAL_POSITIONint => 过程的输入和输出参数的序号位置,从 1 开始。如果此行描述过程的返回值,则返回值 0。对于结果集列,它是列在结果集中从1开始的序号位置。如果有多个结果集,列序号位置是实现定义的。
      19. IS_NULLABLEString => ISO 规则用于确定列的可空性。
        • 是 --- 如果该列可以包含 NULL
        • NO --- 如果该列不能包含 NULL
        • 空字符串 --- 如果列的可空性未知
      20. SPECIFIC_NAME字符串 => 在其模式中唯一标识此过程的名称。

      笔记:某些数据库可能不会返回过程的列描述。

      PRECISION 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      procedureNamePattern - 过程名称模式;必须与存储在数据库中的过程名称相匹配
      columnNamePattern - 列名模式;必须与存储在数据库中的列名相匹配
      返回:
      ResultSet - 每行描述一个存储过程参数或列
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getTables

      ResultSet  getTables(String  catalog, String  schemaPattern, String  tableNamePattern, String [] types) throws SQL异常
      检索给定目录中可用表的描述。仅返回与目录、模式、表名和类型条件匹配的表描述。它们按 TABLE_TYPETABLE_CATTABLE_SCHEMTABLE_NAME 排序。

      每个表描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. TABLE_TYPE字符串 => 表类型。典型的类型是“TABLE”、“VIEW”、“SYSTEM TABLE”、“GLOBAL TEMPORARY”、“LOCAL TEMPORARY”、“ALIAS”、“SYNONYM”。
      5. REMARKS字符串 => 表的解释性注释(可能是 null
      6. TYPE_CAT字符串 => 类型目录(可能是 null
      7. TYPE_SCHEM字符串 => 类型模式(可能是 null
      8. TYPE_NAME字符串 => 类型名称(可能是 null
      9. SELF_REFERENCING_COL_NAME字符串 => 类型化表的指定“标识符”列的名称(可能是 null
      10. REF_GENERATION字符串 => 指定如何创建 SELF_REFERENCING_COL_NAME 中的值。值为“SYSTEM”、“USER”、“DERIVED”。 (可能是 null

      笔记:某些数据库可能不会返回所有表的信息。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      tableNamePattern - 表名模式;必须与存储在数据库中的表名相匹配
      types - 表类型列表,必须来自 getTableTypes() 返回的表类型列表,才能包含在内; null 返回所有类型
      返回:
      ResultSet - 每行是一个表描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getSchemas

      ResultSet  getSchemas() throws SQL异常
      检索此数据库中可用的架构名称。结果按 TABLE_CATALOGTABLE_SCHEM 排序。

      架构列是:

      1. TABLE_SCHEM字符串 => 架构名称
      2. TABLE_CATALOG字符串 => 目录名称(可能是 null
      返回:
      一个 ResultSet 对象,其中每一行都是模式描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • getCatalogs

      ResultSet  getCatalogs() throws SQL异常
      检索此数据库中可用的目录名称。结果按目录名称排序。

      目录栏是:

      1. TABLE_CATString =>目录名
      返回:
      一个 ResultSet 对象,其中每一行都有一个 String 列,它是目录名称
      抛出:
      SQLException - 如果发生数据库访问错误
    • getTableTypes

      ResultSet  getTableTypes() throws SQL异常
      检索此数据库中可用的表类型。结果按表类型排序。

      表类型为:

      1. TABLE_TYPE字符串 => 表类型。典型的类型是“TABLE”、“VIEW”、“SYSTEM TABLE”、“GLOBAL TEMPORARY”、“LOCAL TEMPORARY”、“ALIAS”、“SYNONYM”。
      返回:
      一个 ResultSet 对象,其中每一行都有一个 String 列,它是一种表类型
      抛出:
      SQLException - 如果发生数据库访问错误
    • getColumns

      ResultSet  getColumns(String  catalog, String  schemaPattern, String  tableNamePattern, String  columnNamePattern) throws SQL异常
      检索指定目录中可用表列的说明。

      仅返回与目录、架构、表和列名称条件匹配的列描述。它们按 TABLE_CATTABLE_SCHEMTABLE_NAMEORDINAL_POSITION 排序。

      每列描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. COLUMN_NAMEString => 列名
      5. DATA_TYPEint => 来自 java.sql.Types 的 SQL 类型
      6. TYPE_NAMEString => 数据源相关类型名称,对于 UDT 类型名称是完全限定的
      7. COLUMN_SIZEint => 列大小。
      8. BUFFER_LENGTH未使用。
      9. DECIMAL_DIGITSint => 小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。
      10. NUM_PREC_RADIXint => Radix(通常为 10 或 2)
      11. NULLABLEint => 允许为 NULL。
        • columnNoNulls - 可能不允许 NULL
        • columnNullable - 绝对允许 NULL
        • columnNullableUnknown - 可空性未知
      12. REMARKS描述列的字符串 => 注释(可能是 null
      13. COLUMN_DEF字符串 => 列的默认值,当值用单引号括起来时应解释为字符串(可能是 null
      14. SQL_DATA_TYPEint => 未使用
      15. SQL_DATETIME_SUBint => 未使用
      16. CHAR_OCTET_LENGTHint => 对于 char 类型列中的最大字节数
      17. ORDINAL_POSITIONint => 表中列的索引(从 1 开始)
      18. IS_NULLABLEString => ISO 规则用于确定列的可空性。
        • 是 --- 如果该列可以包含 NULL
        • NO --- 如果该列不能包含 NULL
        • 空字符串 --- 如果列的可空性未知
      19. SCOPE_CATALOG字符串 => 表的目录,它是引用属性的范围(null 如果 DATA_TYPE 不是 REF)
      20. SCOPE_SCHEMA字符串 => 表的模式,它是引用属性的范围(如果 DATA_TYPE 不是 REF,则为 null
      21. SCOPE_TABLE字符串 => 表名,这是引用属性的范围(null 如果 DATA_TYPE 不是 REF)
      22. SOURCE_DATA_TYPEshort => 不同类型或用户生成的 Ref 类型的源类型,来自 java.sql.Types 的 SQL 类型(null 如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF)
      23. IS_AUTOINCREMENTString => 表示该列是否自增
        • 是 --- 如果列自动递增
        • NO --- 如果列不自动递增
        • 空字符串---如果不能判断该列是否自增
      24. IS_GENERATEDCOLUMNString => 表示这是否是一个生成的列
        • 是 --- 如果这是生成的列
        • NO --- 如果这不是生成的列
        • 空字符串---如果不能判断这是否是一个生成的列

      COLUMN_SIZE 列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      tableNamePattern - 表名模式;必须与存储在数据库中的表名相匹配
      columnNamePattern - 列名模式;必须与存储在数据库中的列名相匹配
      返回:
      ResultSet - 每一行都是一列描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getColumnPrivileges

      ResultSet  getColumnPrivileges(String  catalog, String  schema, String  table, String  columnNamePattern) throws SQL异常
      检索对表列的访问权限的描述。

      仅返回与列名条件匹配的权限。它们按 COLUMN_NAME 和 PRIVILEGE 排序。

      每个权限描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. COLUMN_NAMEString => 列名
      5. GRANTOR字符串 => 访问授予者(可能是 null
      6. GRANTEE字符串 => 访问权限
      7. PRIVILEGE字符串 => 访问名称(SELECT、INSERT、UPDATE、REFERENCES,...)
      8. IS_GRANTABLEString => "YES" 如果被授权者允许授权给其他人;如果不是,则为“否”; null 如果未知
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在数据库中的表名相匹配
      columnNamePattern - 列名模式;必须与存储在数据库中的列名相匹配
      返回:
      ResultSet - 每一行都是一列特权描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getTablePrivileges

      ResultSet  getTablePrivileges(String  catalog, String  schemaPattern, String  tableNamePattern) throws SQL异常
      检索目录中可用的每个表的访问权限的描述。请注意,表权限适用于表中的一个或多个列。假设此特权适用于所有列是错误的(这对于某些系统可能是正确的,但并非对所有系统都是正确的。)

      仅返回与模式和表名标准匹配的权限。它们按 TABLE_CATTABLE_SCHEMTABLE_NAMEPRIVILEGE 排序。

      每个权限描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. GRANTOR字符串 => 访问授予者(可能是 null
      5. GRANTEE字符串 => 访问权限
      6. PRIVILEGE字符串 => 访问名称(SELECT、INSERT、UPDATE、REFERENCES,...)
      7. IS_GRANTABLEString => "YES" 如果被授权者允许授权给其他人;如果不是,则为“否”; null 如果未知
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      tableNamePattern - 表名模式;必须与存储在数据库中的表名相匹配
      返回:
      ResultSet - 每行是一个表权限描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getBestRowIdentifier

      ResultSet  getBestRowIdentifier(String  catalog, String  schema, String  table, int scope, boolean nullable) throws SQL异常
      检索表中唯一标识一行的最佳列集的描述。它们按 SCOPE 排序。

      每列描述都有以下列:

      1. SCOPEshort => 结果的实际范围
        • bestRowTemporary - 非常临时,同时使用行
        • bestRowTransaction - 对当前事务的剩余部分有效
        • bestRowSession - 对当前会话的剩余部分有效
      2. COLUMN_NAMEString => 列名
      3. DATA_TYPEint => 来自 java.sql.Types 的 SQL 数据类型
      4. TYPE_NAMEString => 数据源相关类型名称,对于 UDT 类型名称是完全限定的
      5. COLUMN_SIZEint => 精度
      6. BUFFER_LENGTHint => 未使用
      7. DECIMAL_DIGITSshort => scale - 对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。
      8. PSEUDO_COLUMNshort => 这是一个类似 Oracle ROWID 的伪列吗
        • bestRowUnknown - 可能是也可能不是伪列
        • bestRowNotPseudo - 不是伪列
        • bestRowPseudo - 是一个伪列

      COLUMN_SIZE 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在数据库中的表名相匹配
      scope - 感兴趣的范围;使用与 SCOPE 相同的值
      nullable - 包括可为空的列。
      返回:
      ResultSet - 每一行都是一列描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • getVersionColumns

      ResultSet  getVersionColumns(String  catalog, String  schema, String  table) throws SQL异常
      检索表列的说明,当一行中的任何值更新时,这些列会自动更新。它们是无序的。

      每列描述都有以下列:

      1. SCOPE=> 未使用
      2. COLUMN_NAMEString => 列名
      3. DATA_TYPEint => 来自 java.sql.Types 的 SQL 数据类型
      4. TYPE_NAMEString => 依赖数据源的类型名称
      5. COLUMN_SIZEint => 精度
      6. BUFFER_LENGTHint => 列值的字节长度
      7. DECIMAL_DIGITSshort => scale - 对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。
      8. PSEUDO_COLUMNshort => 这是否是像 Oracle ROWID 这样的伪列
        • versionColumnUnknown - 可能是也可能不是伪列
        • versionColumnNotPseudo - 不是伪列
        • versionColumnPseudo - 是一个伪列

      COLUMN_SIZE 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在数据库中的表名相匹配
      返回:
      一个 ResultSet 对象,其中每一行都是一列描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • getPrimaryKeys

      ResultSet  getPrimaryKeys(String  catalog, String  schema, String  table) throws SQL异常
      检索给定表的主键列的描述。它们按 COLUMN_NAME 排序。

      每个主键列描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. COLUMN_NAMEString => 列名
      5. KEY_SEQshort => 主键中的序列号(值 1 表示主键的第一列,值 2 表示主键中的第二列)。
      6. PK_NAMEString => 主键名(可能是 null
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在数据库中的表名相匹配
      返回:
      ResultSet - 每行是一个主键列描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • getImportedKeys

      ResultSet  getImportedKeys(String  catalog, String  schema, String  table) throws SQL异常
      检索给定表的外键列(表导入的主键)引用的主键列的描述。它们按 PKTABLE_CAT、PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 排序。

      每个主键列描述都有以下列:

      1. PKTABLE_CATString => 正在导入的主键表目录(可能是 null
      2. PKTABLE_SCHEM正在导入的字符串 => 主键表模式(可能是 null
      3. PKTABLE_NAMEString => 导入的主键表名
      4. PKCOLUMN_NAMEString => 导入的主键列名
      5. FKTABLE_CATString => 外键表目录(可能是 null
      6. FKTABLE_SCHEM字符串 => 外键表模式(可能是 null
      7. FKTABLE_NAMEString =>外键表名
      8. FKCOLUMN_NAMEString =>外键列名
      9. KEY_SEQshort => 外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。
      10. UPDATE_RULEshort => 更新主键时外键会发生什么:
        • importedNoAction - 如果已导入,则不允许更新主键
        • importedKeyCascade - 更改导入密钥以同意主密钥更新
        • importedKeySetNull - 如果其主键已更新,则将导入键更改为 NULL
        • importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
      11. DELETE_RULEshort => 删除主键时外键会发生什么情况。
        • importedKeyNoAction - 如果已导入,则不允许删除主键
        • importedKeyCascade - 删除导入已删除键的行
        • importedKeySetNull - 如果其主键已被删除,则将导入键更改为 NULL
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
        • importedKeySetDefault - 如果其主键已被删除,则将导入键更改为默认值
      12. FK_NAME字符串 => 外键名(可能是 null
      13. PK_NAMEString => 主键名(可能是 null
      14. DEFERRABILITYshort => 外键约束的评估是否可以推迟到提交
        • importedKeyInitiallyDeferred - 参见 SQL92 的定义
        • importedKeyInitiallyImmediate - 参见 SQL92 的定义
        • importedKeyNotDeferrable - 参见 SQL92 的定义
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在数据库中的表名相匹配
      返回:
      ResultSet - 每行是一个主键列描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getExportedKeys

      ResultSet  getExportedKeys(String  catalog, String  schema, String  table) throws SQL异常
      检索引用给定表的主键列(表导出的外键)的外键列的描述。它们按 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

      每个外键列描述都有以下列:

      1. PKTABLE_CATString => 主键表目录(可能是null
      2. PKTABLE_SCHEM字符串 => 主键表模式(可能是 null
      3. PKTABLE_NAMEString =>主键表名
      4. PKCOLUMN_NAMEString => 主键列名
      5. FKTABLE_CAT正在导出的字符串 => 外键表目录(可能是 null )(可能是 null
      6. FKTABLE_SCHEM正在导出的字符串 => 外键表模式(可能是 null )(可能是 null
      7. FKTABLE_NAMEString => 导出的外键表名
      8. FKCOLUMN_NAME正在导出的字符串=>外键列名
      9. KEY_SEQshort => 外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。
      10. UPDATE_RULEshort => 主更新时外键会发生什么:
        • importedNoAction - 如果已导入,则不允许更新主键
        • importedKeyCascade - 更改导入密钥以同意主密钥更新
        • importedKeySetNull - 如果其主键已更新,则将导入键更改为 NULL
        • importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
      11. DELETE_RULEshort => 删除主键时外键会发生什么情况。
        • importedKeyNoAction - 如果已导入,则不允许删除主键
        • importedKeyCascade - 删除导入已删除键的行
        • importedKeySetNull - 如果其主键已被删除,则将导入键更改为 NULL
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
        • importedKeySetDefault - 如果其主键已被删除,则将导入键更改为默认值
      12. FK_NAME字符串 => 外键名(可能是 null
      13. PK_NAMEString => 主键名(可能是 null
      14. DEFERRABILITYshort => 外键约束的评估是否可以推迟到提交
        • importedKeyInitiallyDeferred - 参见 SQL92 的定义
        • importedKeyInitiallyImmediate - 参见 SQL92 的定义
        • importedKeyNotDeferrable - 参见 SQL92 的定义
      参数:
      catalog - 目录名称;必须与存储在此数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在此数据库中的表名相匹配
      返回:
      一个 ResultSet 对象,其中每一行都是一个外键列描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getCrossReference

      ResultSet  getCrossReference(String  parentCatalog, String  parentSchema, String  parentTable, String  foreignCatalog, String  foreignSchema, String  foreignTable) throws SQL异常
      检索给定外键表中引用主键的外键列的描述或表示父表(可以是相同或不同的表)的唯一约束的列。从父表返回的列数必须与构成外键的列数相匹配。它们按 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

      每个外键列描述都有以下列:

      1. PKTABLE_CATString => 父键表目录(可能是 null
      2. PKTABLE_SCHEM字符串 => 父键表架构(可能是 null
      3. PKTABLE_NAMEString =>父键表名
      4. PKCOLUMN_NAMEString =>父键列名
      5. FKTABLE_CAT正在导出的字符串 => 外键表目录(可能是 null )(可能是 null
      6. FKTABLE_SCHEM正在导出的字符串 => 外键表模式(可能是 null )(可能是 null
      7. FKTABLE_NAMEString => 导出的外键表名
      8. FKCOLUMN_NAME正在导出的字符串=>外键列名
      9. KEY_SEQshort => 外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。
      10. UPDATE_RULEshort => 更新父键时外键会发生什么:
        • importedNoAction - 如果已导入则不允许更新父键
        • importedKeyCascade - 更改导入密钥以同意父密钥更新
        • importedKeySetNull - 如果其父密钥已更新,则将导入的密钥更改为 NULL
        • importedKeySetDefault - 如果其父键已更新,则将导入键更改为默认值
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
      11. DELETE_RULEshort => 删除父键时外键会发生什么情况。
        • importedKeyNoAction - 如果已导入则不允许删除父密钥
        • importedKeyCascade - 删除导入已删除键的行
        • importedKeySetNull - 如果其主键已被删除,则将导入键更改为 NULL
        • importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
        • importedKeySetDefault - 如果其父密钥已被删除,则将导入的密钥更改为默认值
      12. FK_NAME字符串 => 外键名(可能是 null
      13. PK_NAME字符串 => 父键名(可能是 null
      14. DEFERRABILITYshort => 外键约束的评估是否可以推迟到提交
        • importedKeyInitiallyDeferred - 参见 SQL92 的定义
        • importedKeyInitiallyImmediate - 参见 SQL92 的定义
        • importedKeyNotDeferrable - 参见 SQL92 的定义
      参数:
      parentCatalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示从选择标准中删除目录名称
      parentSchema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示从选择标准中删除架构名称
      parentTable - 导出key的表名;必须与存储在数据库中的表名相匹配
      foreignCatalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示从选择标准中删除目录名称
      foreignSchema - 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示从选择标准中删除架构名称
      foreignTable - 导入key的表名;必须与存储在数据库中的表名相匹配
      返回:
      ResultSet - 每行是一个外键列描述
      抛出:
      SQLException - 如果发生数据库访问错误
      参见:
    • getTypeInfo

      ResultSet  getTypeInfo() throws SQL异常
      检索此数据库支持的所有数据类型的描述。它们按 DATA_TYPE 排序,然后按数据类型映射到相应 JDBC SQL 类型的紧密程度排序。

      如果数据库支持 SQL 不同类型,则 getTypeInfo() 将返回一行,其中 TYPE_NAME 为 DISTINCT,DATA_TYPE 为 Types.DISTINCT。如果数据库支持 SQL 结构类型,则 getTypeInfo() 将返回一行,其中 TYPE_NAME 为 STRUCT,DATA_TYPE 为 Types.STRUCT。

      如果支持 SQL 不同类型或结构化类型,则可以从 getUDTs() 方法获取有关各个类型的信息。

      每个类型描述都有以下列:

      1. TYPE_NAME字符串 => 类型名称
      2. DATA_TYPEint => 来自 java.sql.Types 的 SQL 数据类型
      3. PRECISIONint => 最大精度
      4. LITERAL_PREFIX用于引用文字的字符串 => 前缀(可能是 null
      5. LITERAL_SUFFIX字符串 => 后缀用于引用文字(可能是 null
      6. CREATE_PARAMS用于创建类型的字符串 => 参数(可能是 null
      7. NULLABLEshort => 你能为这种类型使用 NULL 吗?
        • typeNoNulls - 不允许 NULL 值
        • typeNullable - 允许 NULL 值
        • typeNullableUnknown - 可空性未知
      8. CASE_SENSITIVEboolean=> 是否区分大小写。
      9. SEARCHABLEshort => 你能根据这种类型使用“WHERE”吗:
        • typePredNone - 不支持
        • typePredChar - 仅支持 WHERE .. LIKE
        • typePredBasic - 支持,除了 WHERE .. LIKE
        • typeSearchable - 支持所有 WHERE ..
      10. UNSIGNED_ATTRIBUTEboolean => 是否未签名。
      11. FIXED_PREC_SCALEboolean => 可以是货币值吗?
      12. AUTO_INCREMENTboolean => 是否可以用于自动增量值。
      13. LOCAL_TYPE_NAME字符串 => 类型名称的本地化版本(可能是 null
      14. MINIMUM_SCALEshort => 支持的最小比例
      15. MAXIMUM_SCALEshort => 支持的最大规模
      16. SQL_DATA_TYPEint => 未使用
      17. SQL_DATETIME_SUBint => 未使用
      18. NUM_PREC_RADIXint => 通常为 2 或 10

      PRECISION 列表示服务支持给定数据类型的最大列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      返回:
      一个 ResultSet 对象,其中每一行都是一个 SQL 类型描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • getIndexInfo

      ResultSet  getIndexInfo(String  catalog, String  schema, String  table, boolean unique, boolean approximate) throws SQL异常
      检索给定表的索引和统计信息的描述。它们按 NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 排序。

      每个索引列描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. NON_UNIQUEboolean => 索引值可以是非唯一的。当 TYPE 为 tableIndexStatistic 时为 false
      5. INDEX_QUALIFIERString => 索引目录(可能是 null ); null 当 TYPE 是 tableIndexStatistic
      6. INDEX_NAMEString =>索引名称; null 当 TYPE 是 tableIndexStatistic
      7. TYPE=> 索引类型:
        • tableIndexStatistic - 这标识了与表的索引描述一起返回的表统计信息
        • tableIndexClustered - 这是一个聚集索引
        • tableIndexHashed - 这是一个哈希索引
        • tableIndexOther - 这是一些其他风格的索引
      8. ORDINAL_POSITION索引中的短 => 列序列号;当 TYPE 为 tableIndexStatistic 时为零
      9. COLUMN_NAMEString => 列名; null 当 TYPE 是 tableIndexStatistic
      10. ASC_OR_DESCString =>列排序顺序,“A”=>升序,“D”=>降序,如果不支持排序顺序可能是nullnull 当 TYPE 是 tableIndexStatistic
      11. CARDINALITYlong => 当 TYPE 为 tableIndexStatistic 时,则为表中的行数;否则,它是索引中唯一值的数量。
      12. PAGESlong => 当 TYPE 为 tableIndexStatistic 时,这是用于表的页数,否则它是用于当前索引的页数。
      13. FILTER_CONDITIONString => 过滤条件,如果有的话。 (可能是 null
      参数:
      catalog - 目录名称;必须与存储在此数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schema - 模式名称;必须与存储在此数据库中的架构名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      table - 表名;必须与存储在此数据库中的表名相匹配
      unique - 当为真时,只返回唯一值的索引;当 false 时,无论是否唯一都返回索引
      approximate - 当为真时,允许结果反映近似值或超出数据值;如果为假,则要求结果准确
      返回:
      ResultSet - 每行是一个索引列描述
      抛出:
      SQLException - 如果发生数据库访问错误
    • supportsResultSetType

      boolean supportsResultSetType(int type) throws SQL异常
      检索此数据库是否支持给定的结果集类型。
      参数:
      type - 在 java.sql.ResultSet 中定义
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
      参见:
    • supportsResultSetConcurrency

      boolean supportsResultSetConcurrency(int type, int concurrency) throws SQL异常
      检索此数据库是否支持给定的并发类型以及给定的结果集类型。
      参数:
      type - 在 java.sql.ResultSet 中定义
      concurrency - java.sql.ResultSet 中定义的类型
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
      参见:
    • ownUpdatesAreVisible

      boolean ownUpdatesAreVisible(int type) throws SQL异常
      检索对于给定类型的 ResultSet 对象,结果集自身的更新是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 给定结果集类型的更新是否可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • ownDeletesAreVisible

      boolean ownDeletesAreVisible(int type) throws SQL异常
      检索结果集自己的删除是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果删除对于给定的结果集类型可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • ownInsertsAreVisible

      boolean ownInsertsAreVisible(int type) throws SQL异常
      检索结果集自己的插入是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果插入对于给定的结果集类型可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • othersUpdatesAreVisible

      boolean othersUpdatesAreVisible(int type) throws SQL异常
      检索其他人所做的更新是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果其他人所做的更新对于给定的结果集类型可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • othersDeletesAreVisible

      boolean othersDeletesAreVisible(int type) throws SQL异常
      检索其他人所做的删除是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果其他人所做的删除对于给定的结果集类型可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • othersInsertsAreVisible

      boolean othersInsertsAreVisible(int type) throws SQL异常
      检索其他人所做的插入是否可见。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果其他人所做的插入对于给定的结果集类型可见; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • updatesAreDetected

      boolean updatesAreDetected(int type) throws SQL异常
      通过调用方法 ResultSet.rowUpdated 检索是否可以检测到可见行更新。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果结果集类型检测到变化; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • deletesAreDetected

      boolean deletesAreDetected(int type) throws SQL异常
      通过调用方法 ResultSet.rowDeleted 检索是否可以检测到可见行删除。如果方法 deletesAreDetected 返回 false ,则意味着删除的行已从结果集中删除。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果给定的结果集类型检测到删除; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • insertsAreDetected

      boolean insertsAreDetected(int type) throws SQL异常
      通过调用方法 ResultSet.rowInserted 检索是否可以检测到可见行插入。
      参数:
      type - ResultSet 类型; ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
      返回:
      true 如果指定的结果集类型检测到更改; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • supportsBatchUpdates

      boolean supportsBatchUpdates() throws SQL异常
      检索此数据库是否支持批量更新。
      返回:
      true如果这个数据库支持批量更新; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • getUDTs

      ResultSet  getUDTs(String  catalog, String  schemaPattern, String  typeNamePattern, int[] types) throws SQL异常
      检索在特定模式中定义的用户定义类型 (UDT) 的描述。特定于架构的 UDT 可能具有类型 JAVA_OBJECTSTRUCTDISTINCT

      仅返回与目录、模式、类型名称和类型标准匹配的类型。它们按 DATA_TYPETYPE_CATTYPE_SCHEMTYPE_NAME 排序。类型名称参数可以是完全限定名称。在这种情况下,catalog 和 schemaPattern 参数将被忽略。

      每个类型描述都有以下列:

      1. TYPE_CATString => 类型的目录(可能是 null
      2. TYPE_SCHEM字符串 => 类型的架构(可能是 null
      3. TYPE_NAMEString =>类型名称
      4. CLASS_NAMEString => Java 类名
      5. DATA_TYPEint => java.sql.Types 中定义的类型值。 JAVA_OBJECT、STRUCT 或 DISTINCT 之一
      6. REMARKSString => 类型的解释性注释
      7. BASE_TYPEshort => DISTINCT 类型的源类型的类型代码或实现用户生成的 SELF_REFERENCING_COLUMN 的引用类型的类型,如 java.sql.Types 中定义的结构化类型(null 如果 DATA_TYPE 不是 DISTINCT 或不是带有 REFERENCE_GENERATION 的 STRUCT = USER_DEFINED)

      笔记:如果驱动程序不支持 UDT,则返回空结果集。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      typeNamePattern - 类型名称模式;必须与存储在数据库中的类型名称相匹配;可能是完全合格的名称
      types - 要包含的用户定义类型(JAVA_OBJECT、STRUCT 或 DISTINCT)的列表; null 返回所有类型
      返回:
      ResultSet 对象,其中每一行描述一个 UDT
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
      参见:
    • getConnection

      Connection  getConnection() throws SQL异常
      检索生成此元数据对象的连接。
      返回:
      产生这个元数据对象的连接
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.2
    • supportsSavepoints

      boolean supportsSavepoints() throws SQL异常
      检索此数据库是否支持保存点。
      返回:
      true 如果支持保存点; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • supportsNamedParameters

      boolean supportsNamedParameters() throws SQL异常
      检索此数据库是否支持可调用语句的命名参数。
      返回:
      true 如果支持命名参数; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • supportsMultipleOpenResults

      boolean supportsMultipleOpenResults() throws SQL异常
      检索是否可以同时从 CallableStatement 对象返回多个 ResultSet 对象。
      返回:
      true 如果一个 CallableStatement 对象可以同时返回多个 ResultSet 对象; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • supportsGetGeneratedKeys

      boolean supportsGetGeneratedKeys() throws SQL异常
      检索是否可以在执行语句后检索自动生成的键
      返回:
      true 是否可以在语句执行后检索自动生成的键; false否则

      如果返回 true,则 JDBC 驱动程序必须至少支持为 SQL INSERT 语句返回自动生成的键

      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getSuperTypes

      ResultSet  getSuperTypes(String  catalog, String  schemaPattern, String  typeNamePattern) throws SQL异常
      检索在此数据库的特定模式中定义的用户定义类型 (UDT) 层次结构的描述。只有直接的超类型/子类型关系被建模。

      仅返回与目录、架构和类型名称匹配的 UDT 的超类型信息。类型名称参数可以是完全限定名称。当提供的 UDT 名称是完全限定名称时,将忽略 catalog 和 schemaPattern 参数。

      如果 UDT 没有直接超类型,则不会在此处列出。此方法返回的 ResultSet 对象的一行描述了指定的 UDT 和直接超类型。一行包含以下列:

      1. TYPE_CATString => UDT 的目录(可能是 null
      2. TYPE_SCHEM字符串 => UDT 的架构(可能是 null
      3. TYPE_NAMEString => UDT类型名称
      4. SUPERTYPE_CATString => 直接超类型的目录(可能是 null
      5. SUPERTYPE_SCHEMString => 直接超类型的模式(可能是 null
      6. SUPERTYPE_NAMEString => 直接超类型的名称

      笔记:如果驱动程序不支持类型层次结构,则返回空结果集。

      参数:
      catalog - 目录名称; "" 检索那些没有目录的; null 表示从选择标准中删除目录名称
      schemaPattern - 模式名称模式; "" 检索那些没有模式的
      typeNamePattern - UDT 名称模式;可能是一个完全合格的名字
      返回:
      一个 ResultSet 对象,其中一行提供有关指定 UDT 的信息
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
      参见:
    • getSuperTables

      ResultSet  getSuperTables(String  catalog, String  schemaPattern, String  tableNamePattern) throws SQL异常
      检索在此数据库的特定模式中定义的表层次结构的描述。

      仅返回与目录、模式和表名匹配的表的超表信息。表名参数可以是完全限定名称,在这种情况下,将忽略 catalog 和 schemaPattern 参数。如果一个表没有超级表,则不在此处列出。必须在与子表相同的目录和架构中定义超级表。因此,类型描述不需要为超表包含此信息。

      每个类型描述都有以下列:

      1. TABLE_CATString => 类型的目录(可能是 null
      2. TABLE_SCHEM字符串 => 类型的架构(可能是 null
      3. TABLE_NAMEString =>类型名称
      4. SUPERTABLE_NAMEString => 直接超类型的名称

      笔记:如果驱动程序不支持类型层次结构,则返回空结果集。

      参数:
      catalog - 目录名称; "" 检索那些没有目录的; null 表示从选择标准中删除目录名称
      schemaPattern - 模式名称模式; "" 检索那些没有模式的
      tableNamePattern - 表名模式;可能是一个完全合格的名字
      返回:
      一个 ResultSet 对象,其中每一行都是一个类型描述
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
      参见:
    • getAttributes

      ResultSet  getAttributes(String  catalog, String  schemaPattern, String  typeNamePattern, String  attributeNamePattern) throws SQL异常
      检索给定模式和目录中可用的用户定义类型 (UDT) 的给定类型的给定属性的描述。

      仅为匹配目录、模式、类型和属性名称标准的 UDT 的属性返回说明。它们按 TYPE_CATTYPE_SCHEMTYPE_NAMEORDINAL_POSITION 排序。此描述不包含继承的属性。

      返回的 ResultSet 对象具有以下列:

      1. TYPE_CATString => 类型目录(可能是 null
      2. TYPE_SCHEM字符串 => 类型架构(可能是 null
      3. TYPE_NAMEString =>类型名称
      4. ATTR_NAMEString => 属性名
      5. DATA_TYPEint => 属性类型 来自 java.sql.Types 的 SQL 类型
      6. ATTR_TYPE_NAMEString => 数据源相关类型名称。对于 UDT,类型名称是完全限定的。对于 REF,类型名称是完全限定的,代表引用类型的目标类型。
      7. ATTR_SIZEint => 列大小。对于 char 或 date 类型,这是最大字符数;对于数字或小数类型,这是精度。
      8. DECIMAL_DIGITSint => 小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。
      9. NUM_PREC_RADIXint => Radix(通常为 10 或 2)
      10. NULLABLEint => 是否允许NULL
        • attributeNoNulls - 可能不允许 NULL 值
        • attributeNullable - 绝对允许 NULL 值
        • attributeNullableUnknown - 可空性未知
      11. REMARKS描述列的字符串 => 注释(可能是 null
      12. ATTR_DEF字符串 => 默认值(可能是 null
      13. SQL_DATA_TYPEint => 未使用
      14. SQL_DATETIME_SUBint => 未使用
      15. CHAR_OCTET_LENGTHint => 对于 char 类型列中的最大字节数
      16. ORDINAL_POSITIONint => UDT 中属性的索引(从 1 开始)
      17. IS_NULLABLE字符串 => ISO 规则用于确定属性的可空性。
        • 是 --- 如果属性可以包含 NULL
        • NO --- 如果属性不能包含 NULL
        • 空字符串 --- 如果属性的可空性未知
      18. SCOPE_CATALOG字符串 => 表的目录,它是引用属性的范围(null 如果 DATA_TYPE 不是 REF)
      19. SCOPE_SCHEMA字符串 => 表的模式,它是引用属性的范围(null 如果 DATA_TYPE 不是 REF)
      20. SCOPE_TABLE字符串 => 表名,它是引用属性的范围(如果 DATA_TYPE 不是 REF,则为 null
      21. SOURCE_DATA_TYPEshort => 不同类型或用户生成的 Ref 类型的源类型,来自 java.sql.Types 的 SQL 类型(null 如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF)
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      typeNamePattern - 类型名称模式;必须与存储在数据库中的类型名称相匹配
      attributeNamePattern - 属性名称模式;必须与数据库中声明的属性名称相匹配
      返回:
      一个 ResultSet 对象,其中每一行都是一个属性描述
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
      参见:
    • supportsResultSetHoldability

      boolean supportsResultSetHoldability(int holdability) throws SQL异常
      检索此数据库是否支持给定的结果集可持有性。
      参数:
      holdability - 以下常量之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
      参见:
    • getResultSetHoldability

      int getResultSetHoldability() throws SQL异常
      检索此数据库对 ResultSet 对象的默认可持有性。
      返回:
      默认可持有性; ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getDatabaseMajorVersion

      int getDatabaseMajorVersion() throws SQL异常
      检索基础数据库的主要版本号。
      返回:
      底层数据库的主要版本
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getDatabaseMinorVersion

      int getDatabaseMinorVersion() throws SQL异常
      检索基础数据库的次要版本号。
      返回:
      底层数据库的次要版本
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getJDBCMajorVersion

      int getJDBCMajorVersion() throws SQL异常
      检索此驱动程序的主要 JDBC 版本号。
      返回:
      JDBC 主版本号
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getJDBCMinorVersion

      int getJDBCMinorVersion() throws SQL异常
      检索此驱动程序的次要 JDBC 版本号。
      返回:
      JDBC 版本次要编号
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getSQLStateType

      int getSQLStateType() throws SQL异常
      指示 SQLException.getSQLState 返回的 SQLSTATE 是 X/Open(现在称为 Open Group)SQL CLI 还是 SQL:2003。
      返回:
      SQLSTATE 的类型;其中之一:sqlStateXOpen 或 sqlStateSQL
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • locatorsUpdateCopy

      boolean locatorsUpdateCopy() throws SQL异常
      指示对 LOB 进行的更新是在副本上进行还是直接对 LOB 进行。
      返回:
      true 如果对 LOB 的副本进行更新; false 如果直接对 LOB 进行更新
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • supportsStatementPooling

      boolean supportsStatementPooling() throws SQL异常
      检索此数据库是否支持语句池。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.4
    • getRowIdLifetime

      RowIdLifetime  getRowIdLifetime() throws SQL异常
      指示此数据源是否支持 SQL ROWID 类型,以及 RowId 对象保持有效的生命周期。
      返回:
      指示 RowId 生命周期的状态
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • getSchemas

      ResultSet  getSchemas(String  catalog, String  schemaPattern) throws SQL异常
      检索此数据库中可用的架构名称。结果按 TABLE_CATALOGTABLE_SCHEM 排序。

      架构列是:

      1. TABLE_SCHEM字符串 => 架构名称
      2. TABLE_CATALOG字符串 => 目录名称(可能是 null
      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配;"" 检索那些没有目录的名称; null 表示不应使用目录名称来缩小搜索范围。
      schemaPattern - 模式名称;必须与存储在数据库中的模式名称相匹配; null 表示不应使用架构名称来缩小搜索范围。
      返回:
      一个 ResultSet 对象,其中每一行都是模式描述
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
      参见:
    • supportsStoredFunctionsUsingCallSyntax

      boolean supportsStoredFunctionsUsingCallSyntax() throws SQL异常
      检索此数据库是否支持使用存储过程转义语法调用用户定义或供应商函数。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • autoCommitFailureClosesAllResultSets

      boolean autoCommitFailureClosesAllResultSets() throws SQL异常
      在 autoCommit 为 true 时检索 SQLException 是否表示所有打开的结果集都已关闭,即使是可持有的结果集。当 SQLException 发生而自动提交为 true 时,JDBC 驱动程序是响应提交操作、回滚操作,还是既不执行提交也不执行回滚,这取决于供应商。这种差异的一个潜在结果是可持有的 ResultSets 是否被关闭。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • getClientInfoProperties

      ResultSet  getClientInfoProperties() throws SQL异常
      检索驱动程序支持的客户端信息属性的列表。结果集包含以下列
      1. NAMEString=>客户端信息属性的名称
      2. MAX_LENint=>属性值的最大长度
      3. DEFAULT_VALUEString=>属性的默认值
      4. DESCRIPTIONString=> 属性的描述。这通常包含有关此属性在数据库中的存储位置的信息。

      ResultSet 按 NAME 列排序

      返回:
      一个ResultSet对象;每行都是受支持的客户端信息属性
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
    • getFunctions

      ResultSet  getFunctions(String  catalog, String  schemaPattern, String  functionNamePattern) throws SQL异常
      检索给定目录中可用的系统和用户功能的描述。

      仅返回与架构和函数名称标准匹配的系统和用户函数描述。它们按 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ NAME 排序。

      每个函数描述都有以下列:

      1. FUNCTION_CAT字符串 => 函数目录(可能是 null
      2. FUNCTION_SCHEM字符串 => 函数模式(可能是 null
      3. FUNCTION_NAME字符串 => 函数名。这是用于调用函数的名称
      4. REMARKSString => 函数的解释性注释
      5. FUNCTION_TYPEshort => 函数种类:
        • functionResultUnknown - 无法确定是否返回值或表
        • functionNoTable- 不返回表
        • functionReturnsTable - 返回一个表
      6. SPECIFIC_NAMEString => 在其架构中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与 FUNCTION_NAME 不同,例如具有重载函数

      用户可能无权执行 getFunctions 返回的任何函数

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      functionNamePattern - 函数名称模式;必须与存储在数据库中的函数名称相匹配
      返回:
      ResultSet - 每行是一个函数描述
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
      参见:
    • getFunctionColumns

      ResultSet  getFunctionColumns(String  catalog, String  schemaPattern, String  functionNamePattern, String  columnNamePattern) throws SQL异常
      检索给定目录的系统或用户函数参数和返回类型的描述。

      仅返回与架构、函数和参数名称标准匹配的描述。它们按 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ NAME 排序。其中,返回值(如果有)是第一个。接下来是调用顺序中的参数说明。列说明按照列号顺序排列。

      ResultSet中的每一行都是参数说明、列说明或返回类型说明,包含以下字段:

      1. FUNCTION_CAT字符串 => 函数目录(可能是 null
      2. FUNCTION_SCHEM字符串 => 函数模式(可能是 null
      3. FUNCTION_NAME字符串 => 函数名。这是用于调用函数的名称
      4. COLUMN_NAMEString => 列/参数名称
      5. COLUMN_TYPE=> 种类的列/参数:
        • functionColumnUnknown - 没人知道
        • functionColumnIn - IN 参数
        • functionColumnInOut - INOUT 参数
        • functionColumnOut - 输出参数
        • functionColumnReturn - 函数返回值
        • functionColumnResult - 表示参数或列是ResultSet中的列
      6. DATA_TYPEint => 来自 java.sql.Types 的 SQL 类型
      7. TYPE_NAMEString => SQL 类型名称,对于 UDT 类型,类型名称是完全限定的
      8. PRECISIONint => 精度
      9. LENGTHint => 数据字节长度
      10. SCALEshort => scale - 对于 SCALE 不适用的数据类型,返回 null。
      11. RADIX=>基数
      12. NULLABLEshort => 是否可以包含 NULL。
        • functionNoNulls - 不允许 NULL 值
        • functionNullable - 允许 NULL 值
        • functionNullableUnknown - 可空性未知
      13. REMARKS描述列/参数的字符串 => 注释
      14. CHAR_OCTET_LENGTHint => 基于二进制和字符的参数或列的最大长度。对于任何其他数据类型,返回值为 NULL
      15. ORDINAL_POSITIONint => 输入输出参数的序号位置,从1开始。如果此行描述函数的返回值,则返回值 0。对于结果集列,是该列在结果集中的序号位置,从1开始。
      16. IS_NULLABLE字符串 => ISO 规则用于确定参数或列的可空性。
        • 是 --- 如果参数或列可以包含 NULL
        • NO --- 如果参数或列不能包含 NULL
        • 空字符串 --- 如果参数或列的可空性未知
      17. SPECIFIC_NAMEString => 在其架构中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与 FUNCTION_NAME 不同,例如具有重载函数

      PRECISION 列表示给定参数或列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      functionNamePattern - 过程名称模式;必须与存储在数据库中的函数名称相匹配
      columnNamePattern - 参数名称模式;必须与存储在数据库中的参数或列名相匹配
      返回:
      ResultSet - 每行描述一个用户函数参数、列或返回类型
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.6
      参见:
    • getPseudoColumns

      ResultSet  getPseudoColumns(String  catalog, String  schemaPattern, String  tableNamePattern, String  columnNamePattern) throws SQL异常
      检索指定目录和模式中给定表中可用的伪列或隐藏列的描述。伪列或隐藏列可能并不总是存储在表中,并且在 ResultSet 中不可见,除非它们在查询的最外层 SELECT 列表中指定。伪列或隐藏列不一定能够修改。如果没有伪列或隐藏列,则返回一个空的 ResultSet。

      仅返回与目录、架构、表和列名称条件匹配的列描述。它们按 TABLE_CATTABLE_SCHEMTABLE_NAMECOLUMN_NAME 排序。

      每列描述都有以下列:

      1. TABLE_CAT字符串 => 表目录(可能是 null
      2. TABLE_SCHEM字符串 => 表模式(可能是 null
      3. TABLE_NAMEString => 表名
      4. COLUMN_NAMEString => 列名
      5. DATA_TYPEint => 来自 java.sql.Types 的 SQL 类型
      6. COLUMN_SIZEint => 列大小。
      7. DECIMAL_DIGITSint => 小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。
      8. NUM_PREC_RADIXint => Radix(通常为 10 或 2)
      9. COLUMN_USAGEString => 列的允许用法。返回的值将对应于 PseudoColumnUsage.name() 返回的枚举名称
      10. REMARKS描述列的字符串 => 注释(可能是 null
      11. CHAR_OCTET_LENGTHint => 对于 char 类型列中的最大字节数
      12. IS_NULLABLEString => ISO 规则用于确定列的可空性。
        • 是 --- 如果该列可以包含 NULL
        • NO --- 如果该列不能包含 NULL
        • 空字符串 --- 如果列的可空性未知

      COLUMN_SIZE 列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。

      参数:
      catalog - 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的; null 表示不应使用目录名称来缩小搜索范围
      schemaPattern - 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的; null 表示不应使用架构名称来缩小搜索范围
      tableNamePattern - 表名模式;必须与存储在数据库中的表名相匹配
      columnNamePattern - 列名模式;必须与存储在数据库中的列名相匹配
      返回:
      ResultSet - 每一行都是一列描述
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.7
      参见:
    • generatedKeyAlwaysReturned

      boolean generatedKeyAlwaysReturned() throws SQL异常
      如果为自动生成的键列指定的列名或索引有效且语句成功,则检索是否始终返回生成的键。返回的键可能基于也可能不基于自动生成键的列。有关其他详细信息,请参阅您的 JDBC 驱动程序文档。
      返回:
      true 如果是的话; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.7
    • getMaxLogicalLobSize

      default long getMaxLogicalLobSize() throws SQL异常
      检索此数据库允许 LOB 的逻辑大小的最大字节数。

      默认实现将返回 0

      返回:
      允许的最大字节数;结果为零意味着没有限制或限制未知
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.8
    • supportsRefCursors

      default boolean supportsRefCursors() throws SQL异常
      检索此数据库是否支持 REF CURSOR。

      默认实现将返回 false

      返回:
      true 如果此数据库支持 REF CURSOR; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      1.8
    • supportsSharding

      default boolean supportsSharding() throws SQL异常
      检索此数据库是否支持分片。
      实现要求:
      默认实现将返回 false
      返回:
      true 如果这个数据库支持分片; false否则
      抛出:
      SQLException - 如果发生数据库访问错误
      自从:
      9