模块  java.sql
软件包  java.sql

Interface DatabaseMetaData

  • All Superinterfaces:
    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对象检索数据。 如果给定形式的元数据不可用,则返回空的ResultSet 对于给定方法定义为由ResultSet对象返回的列之外的其他列可以由JDBC驱动程序供应商定义,并且必须通过其列标签访问。

    一些DatabaseMetaData方法接受String模式的参数。 这些参数都有诸如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
        表示列的类型未知。

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • procedureColumnIn

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • procedureColumnInOut

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • procedureColumnOut

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • procedureColumnReturn

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • procedureColumnResult

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getProcedureColumns

        另请参见:
        常数字段值
      • 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值。

        该列的可能值NULLABLEResultSet该方法返回getColumns

        另请参见:
        常数字段值
      • columnNullable

        static final int columnNullable
        表示该列肯定允许NULL值。

        该列的可能值NULLABLEResultSet该方法返回getColumns

        另请参见:
        常数字段值
      • columnNullableUnknown

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

        该列的可能值NULLABLEResultSet该方法返回getColumns

        另请参见:
        常数字段值
      • 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 ,它指示删除主键时,将删除导入该键的行。

        对于各列的可能值UPDATE_RULEDELETE_RULEResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeyRestrict

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

        对于各列的可能值UPDATE_RULEDELETE_RULEResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeySetNull

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

        对于各列的可能值UPDATE_RULEDELETE_RULEResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeyNoAction

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

        对于各列的可能值UPDATE_RULEDELETE_RULEResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeySetDefault

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

        对于各列的可能值UPDATE_RULEDELETE_RULEResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeyInitiallyDeferred

        static final int importedKeyInitiallyDeferred
        表示可推迟性。 有关定义,请参见SQL-92。

        该列的可能值DEFERRABILITYResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeyInitiallyImmediate

        static final int importedKeyInitiallyImmediate
        表示可推迟性。 有关定义,请参见SQL-92。

        该列的可能值DEFERRABILITYResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • importedKeyNotDeferrable

        static final int importedKeyNotDeferrable
        表示可推迟性。 有关定义,请参见SQL-92。

        该列的可能值DEFERRABILITYResultSet通过所述方法返回的对象getImportedKeysgetExportedKeys ,和getCrossReference

        另请参见:
        常数字段值
      • 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 /打开(现在知道的公开组)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
        表示参数或列的类型未知。

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        另请参见:
        常数字段值
      • functionColumnIn

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        从以下版本开始:
        1.6
        另请参见:
        常数字段值
      • functionColumnInOut

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        从以下版本开始:
        1.6
        另请参见:
        常数字段值
      • functionColumnOut

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        从以下版本开始:
        1.6
        另请参见:
        常数字段值
      • functionReturn

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        从以下版本开始:
        1.6
        另请参见:
        常数字段值
      • functionColumnResult

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

        该列的可能值COLUMN_TYPEResultSet该方法返回getFunctionColumns

        从以下版本开始:
        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 SQLException
        检索当前用户是否可以调用方法 getProcedures返回的所有过程。
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • allTablesAreSelectable

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

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

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

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

        boolean nullsAreSortedHigh()
                            throws SQLException
        检索NULL值是否排序为高。 排序高意味着NULL值排序高于域中的任何其他值。 按升序排列,如果此方法返回true ,则NULL将显示NULL值。 相反,方法nullsAreSortedAtEnd指示NULL值是否在末尾排序而不管排序顺序如何。
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • nullsAreSortedLow

        boolean nullsAreSortedLow()
                           throws SQLException
        检索NULL值是否排序较低。 排序低意味着NULL值排序低于域中的任何其他值。 按升序排列,如果此方法返回true ,则会在开头显示NULL值。 相反,方法nullsAreSortedAtStart指示是否在开始时对NULL值进行排序,而不管排序顺序如何。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • nullsAreSortedAtStart

        boolean nullsAreSortedAtStart()
                               throws SQLException
        检索 NULL值是否在开始时排序,而不考虑排序顺序。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • nullsAreSortedAtEnd

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

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

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

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

        String getDriverVersion()
                         throws SQLException
        String检索此JDBC驱动程序的版本号。
        结果
        JDBC驱动程序版本
        异常
        SQLException - 如果发生数据库访问错误
      • getDriverMajorVersion

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

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

        boolean usesLocalFiles()
                        throws SQLException
        检索此数据库是否将表存储在本地文件中。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • usesLocalFilePerTable

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        结果
        用于转义通配符的字符串
        异常
        SQLException - 如果发生数据库访问错误
      • getExtraNameCharacters

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

        boolean supportsAlterTableWithAddColumn()
                                         throws SQLException
        检索此数据库是否支持带有添加列的 ALTER TABLE
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsAlterTableWithDropColumn

        boolean supportsAlterTableWithDropColumn()
                                          throws SQLException
        检索此数据库是否支持带有drop column的 ALTER TABLE
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsColumnAliasing

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

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

        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • nullPlusNonNullIsNull

        boolean nullPlusNonNullIsNull()
                               throws SQLException
        检索此数据库是否支持 NULL和非 NULL值之间的连接为 NULL
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsConvert

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

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

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

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

        boolean supportsExpressionsInOrderBy()
                                      throws SQLException
        检索此数据库是否支持 ORDER BY列表中的表达式。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsOrderByUnrelated

        boolean supportsOrderByUnrelated()
                                  throws SQLException
        检索此数据库是否支持使用 ORDER BY子句中不在 SELECT语句中的 ORDER BY
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsGroupBy

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

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

        boolean supportsGroupByBeyondSelect()
                                     throws SQLException
        获取此数据库是否支持使用不包含在列 SELECT在一份声明 GROUP BY条款规定,所有在列 SELECT声明都包含在在 GROUP BY条款。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsLikeEscapeClause

        boolean supportsLikeEscapeClause()
                                  throws SQLException
        检索此数据库是否支持指定 LIKE转义子句。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsMultipleResultSets

        boolean supportsMultipleResultSets()
                                    throws SQLException
        检索此数据库是否支持从单个调用方法 execute获取多个 ResultSet对象。
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsMultipleTransactions

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

        boolean supportsNonNullableColumns()
                                    throws SQLException
        检索此数据库中的列是否可以定义为非可空。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsMinimumSQLGrammar

        boolean supportsMinimumSQLGrammar()
                                   throws SQLException
        检索此数据库是否支持ODBC Minimum SQL语法。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsCoreSQLGrammar

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

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

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

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

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

        boolean supportsIntegrityEnhancementFacility()
                                              throws SQLException
        检索此数据库是否支持SQL Integrity Enhancement Facility。
        结果
        true若有, 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsOuterJoins

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

        boolean supportsFullOuterJoins()
                                throws SQLException
        检索此数据库是否支持完全嵌套的外连接。
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsLimitedOuterJoins

        boolean supportsLimitedOuterJoins()
                                   throws SQLException
        检索此数据库是否为外连接提供有限支持。 (这将是true ,如果该方法supportsFullOuterJoins返回true )。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • getSchemaTerm

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

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

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

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

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

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

        boolean supportsSchemasInProcedureCalls()
                                         throws SQLException
        检索是否可以在过程调用语句中使用模式名称。
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsSchemasInTableDefinitions

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

        boolean supportsSchemasInIndexDefinitions()
                                           throws SQLException
        检索模式名称是否可以在索引定义语句中使用。
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsSchemasInPrivilegeDefinitions

        boolean supportsSchemasInPrivilegeDefinitions()
                                               throws SQLException
        检索是否可以在权限定义语句中使用模式名称。
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsCatalogsInDataManipulation

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

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

        boolean supportsCatalogsInTableDefinitions()
                                            throws SQLException
        检索是否可以在表定义语句中使用目录名称。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsCatalogsInIndexDefinitions

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

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

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

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

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

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

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

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

        boolean supportsSubqueriesInIns()
                                 throws SQLException
        检索此数据库是否支持 IN表达式中的子查询。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsSubqueriesInQuantifieds

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

        boolean supportsCorrelatedSubqueries()
                                      throws SQLException
        检索此数据库是否支持相关子查询。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsUnion

        boolean supportsUnion()
                       throws SQLException
        检索此数据库是否支持SQL UNION
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsUnionAll

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        boolean supportsDataManipulationTransactionsOnly()
                                                  throws SQLException
        检索此数据库是否仅支持事务中的数据操作语句。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • dataDefinitionCausesTransactionCommit

        boolean dataDefinitionCausesTransactionCommit()
                                               throws SQLException
        检索事务中的数据定义语句是否强制事务提交。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • dataDefinitionIgnoredInTransactions

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

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

        仅返回与架构和过程名称条件匹配的过程描述。 他们被下令PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMESPECIFIC_ NAME

        每个过程描述都包含以下列:

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

        用户可能没有权限执行getProcedures返回的任何过程

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        procedureNamePattern - 过程名称模式; 必须匹配存储在数据库中的过程名称
        结果
        ResultSet - 每行是一个过程描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getProcedureColumns

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

        仅返回与架构,过程和参数名称条件匹配的描述。 它们由PROCEDURE_CAT,PROCEDURE_SCHEM,PROCEDURE_NAME和SPECIFIC_NAME订购。 在此范围内,返回值(如果有)是第一个。 接下来是调用顺序中的参数描述。 列描述遵循列号顺序。

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

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

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

        PRECISION列表示给定列的指定列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        procedureNamePattern - 过程名称模式; 必须匹配存储在数据库中的过程名称
        columnNamePattern - 列名模式; 必须匹配列名称,因为它存储在数据库中
        结果
        ResultSet - 每行描述存储过程参数或列
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getTables

        ResultSet getTables​(String catalog,
                            String schemaPattern,
                            String tableNamePattern,
                            String[] types)
                     throws SQLException
        检索给定目录中可用表的描述。 仅返回与目录,架构,表名和类型条件匹配的表描述。 他们被下令TABLE_TYPETABLE_CATTABLE_SCHEMTABLE_NAME

        每个表描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. TABLE_TYPE字符串=>表类型。 典型的类型是“TABLE”,“VIEW”,“SYSTEM TABLE”,“GLOBAL TEMPORARY”,“LOCAL TEMPORARY”,“ALIAS”,“SYNONYM”。
        5. 备注字符串=>对表的解释性评论(可能是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 - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getSchemas

        ResultSet getSchemas()
                      throws SQLException
        检索此数据库中可用的模式名称。 结果由TABLE_CATALOGTABLE_SCHEM

        架构列是:

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

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

        目录列是:

        1. TABLE_CAT字符串=>目录名称
        结果
        一个 ResultSet对象,其中每一行都有一个作为目录名称的 String
        异常
        SQLException - 如果发生数据库访问错误
      • getTableTypes

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

        表类型是:

        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 SQLException
        检索指定目录中可用的表列的描述。

        仅返回与目录,架构,表和列名称条件匹配的列描述。 他们被下令TABLE_CATTABLE_SCHEMTABLE_NAMEORDINAL_POSITION

        每列描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. COLUMN_NAME字符串=>列名
        5. DATA_TYPE int => java.sql.Types中的SQL类型
        6. TYPE_NAME字符串=>数据源相关类型名称,对于UDT,类型名称是完全限定的
        7. COLUMN_SIZE int =>列大小。
        8. BUFFER_LENGTH未使用。
        9. DECIMAL_DIGITS int =>小数位数。 对于DECIMAL_DIGITS不适用的数据类型,将返回Null。
        10. NUM_PREC_RADIX int =>基数(通常为10或2)
        11. NULLABLE int =>允许NULL。
          • columnNoNulls - 可能不允许NULL
          • columnNullable - 绝对允许NULL
          • columnNullableUnknown - 可空性未知
        12. 备注字符串=>评论描述列(可能是null
        13. COLUMN_DEF字符串=>列的默认值,当值用单引号括起时,应将其解释为字符串(可能是null
        14. SQL_DATA_TYPE int =>未使用
        15. SQL_DATETIME_SUB int =>未使用
        16. CHAR_OCTET_LENGTH int => for char类型列中的最大字节数
        17. ORDINAL_POSITION int =>表中列的索引(从1开始)
        18. IS_NULLABLE字符串=> ISO规则用于确定列的可为空性。
          • 是---如果列可以包含NULL
          • NO ---如果列不能包含NULL
          • 空字符串---如果列的可空性未知
        19. SCOPE_CATALOG字符串=>作为引用属性范围的表的目录(如果DATA_TYPE不是REF, null
        20. SCOPE_SCHEMA字符串=>作为引用属性范围的表的模式(如果DATA_TYPE不是REF, null
        21. SCOPE_TABLE字符串=>表名称,这是引用属性的范围(如果DATA_TYPE不是REF, null
        22. SOURCE_DATA_TYPE=>不同类型的源类型或用户生成的Ref类型,java.sql.Types中的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF, null
        23. IS_AUTOINCREMENT字符串=>指示此列是否自动递增
          • 是---如果列自动递增
          • 否---如果列未自动递增
          • 空字符串---如果无法确定列是否自动递增
        24. IS_GENERATEDCOLUMN字符串=>指示这是否是生成的列
          • 是---如果这是一个生成的列
          • 否---如果这不是生成的列
          • 空字符串---如果无法确定这是否是生成的列

        COLUMN_SIZE列指定给定列的列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        tableNamePattern - 表名模式; 必须匹配存储在数据库中的表名
        columnNamePattern - 列名模式; 必须匹配列名称,因为它存储在数据库中
        结果
        ResultSet - 每行都是列描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getColumnPrivileges

        ResultSet getColumnPrivileges​(String catalog,
                                      String schema,
                                      String table,
                                      String columnNamePattern)
                               throws SQLException
        检索表列的访问权限的描述。

        仅返回与列名称条件匹配的权限。 它们由COLUMN_NAME和PRIVILEGE订购。

        每个权限描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. COLUMN_NAME字符串=>列名
        5. GRANTOR字符串=>访问授权人(可能是null
        6. GRANTEE String =>访问受让人
        7. PRIVILEGE字符串=>访问名称(SELECT,INSERT,UPDATE,REFERENCES,...)
        8. IS_GRANTABLE字符串=>如果允许受让人授予他人, => “是”; 如果不是“不”; null若不明数
        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在数据库中的表名
        columnNamePattern - 列名模式; 必须匹配列名称,因为它存储在数据库中
        结果
        ResultSet - 每行都是列权限描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getTablePrivileges

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

        仅返回与架构和表名称条件匹配的权限。 他们被下令TABLE_CATTABLE_SCHEMTABLE_NAMEPRIVILEGE

        每个权限描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. GRANTOR字符串=>访问授权人(可能是null
        5. GRANTEE String =>访问受让人
        6. PRIVILEGE字符串=>访问名称(SELECT,INSERT,UPDATE,REFERENCES,...)
        7. IS_GRANTABLE字符串=>如果允许受让人授予他人, => “是”; 如果不是“不”; null若不明
        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        tableNamePattern - 表名模式; 必须匹配存储在数据库中的表名
        结果
        ResultSet - 每行都是表权限描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getSearchStringEscape()
      • getBestRowIdentifier

        ResultSet getBestRowIdentifier​(String catalog,
                                       String schema,
                                       String table,
                                       int scope,
                                       boolean nullable)
                                throws SQLException
        检索表的唯一标识行的最佳列集的描述。 它们由SCOPE订购。

        每列描述都包含以下列:

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

        COLUMN_SIZE列表示给定列的指定列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在数据库中的表名
        scope - 利益范围; 使用与SCOPE相同的值
        nullable - 包含可为空的列。
        结果
        ResultSet - 每行都是列描述
        异常
        SQLException - 如果发生数据库访问错误
      • getVersionColumns

        ResultSet getVersionColumns​(String catalog,
                                    String schema,
                                    String table)
                             throws SQLException
        检索在更新行中的任何值时自动更新的表列的描述。 它们是无序的。

        每列描述都包含以下列:

        1. 没有使用SCOPE short =>
        2. COLUMN_NAME字符串=>列名称
        3. DATA_TYPE int => SQL数据类型来自java.sql.Types
        4. TYPE_NAME字符串=>数据源相关的类型名称
        5. COLUMN_SIZE int =>精度
        6. BUFFER_LENGTH int =>列的长度值,以字节为单位
        7. DECIMAL_DIGITS short => scale - 对于DECIMAL_DIGITS不适用的数据类型,返回Null。
        8. PSEUDO_COLUMN=>这是否是像Oracle ROWID那样的伪列
          • versionColumnUnknown - 可能是也可能不是伪列
          • versionColumnNotPseudo - 不是伪列
          • versionColumnPseudo - 是一个伪列

        COLUMN_SIZE列表示给定列的指定列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在数据库中的表名
        结果
        ResultSet对象,其中每一行都是列描述
        异常
        SQLException - 如果发生数据库访问错误
      • getPrimaryKeys

        ResultSet getPrimaryKeys​(String catalog,
                                 String schema,
                                 String table)
                          throws SQLException
        检索给定表的主键列的描述。 它们由COLUMN_NAME订购。

        每个主键列描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. COLUMN_NAME字符串=>列名
        5. KEY_SEQ=>序列号内的主键(值1表示主密钥中的第一列,值2将代表主键中的第二列)。
        6. PK_NAME字符串=>主键名称(可能是null
        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在数据库中的表名
        结果
        ResultSet - 每行是主键列描述
        异常
        SQLException - 如果发生数据库访问错误
      • getImportedKeys

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

        每个主键列描述都包含以下列:

        1. PKTABLE_CAT字符串=>正在导入主键表目录(可能是null
        2. PKTABLE_SCHEM字符串=>正在导入主键表模式(可能是null
        3. PKTABLE_NAME字符串=>正在导入主键表名称
        4. PKCOLUMN_NAME字符串=>正在导入的主键列名称
        5. FKTABLE_CAT字符串=>外键表目录(可能是null
        6. FKTABLE_SCHEM字符串=>外键表架构(可能是null
        7. FKTABLE_NAME字符串=>外键表名
        8. FKCOLUMN_NAME字符串=>外键列名称
        9. KEY_SEQ=>外键内的序列号(值1表示外键的第一列中,值2将代表外键内的第二列)。
        10. UPDATE_RULE short =>更新主键时外键会发生什么情况:
          • importedNoAction - 如果已导入主键,则不允许更新主键
          • importedKeyCascade - 更改导入的密钥以同意主键更新
          • importedKeySetNull - 如果已更新主键, NULL导入的密钥更改为NULL
          • importedKeySetDefault - 如果已更新主键,则将导入的键更改为默认值
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
        11. DELETE_RULE short =>删除primary时外键会发生什么情况。
          • importedKeyNoAction - 如果已导入主键,则不允许删除主键
          • importedKeyCascade - 删除导入已删除密钥的行
          • importedKeySetNull - 如果已删除主键,则将导入的密钥更改为NULL
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
          • importedKeySetDefault - 如果已删除主键,则将导入的密钥更改为默认值
        12. FK_NAME字符串=>外键名称(可能是null
        13. PK_NAME字符串=>主键名称(可能是null
        14. DEFERRABILITY short =>可以将外键约束的评估推迟到提交之前
          • importedKeyInitiallyDeferred - 有关定义,请参阅SQL92
          • importedKeyInitiallyImmediate - 有关定义,请参阅SQL92
          • importedKeyNotDeferrable - 有关定义,请参阅SQL92
        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在数据库中的表名
        结果
        ResultSet - 每行是主键列描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getExportedKeys(java.lang.String, java.lang.String, java.lang.String)
      • getExportedKeys

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

        每个外键列描述都包含以下列:

        1. PKTABLE_CAT字符串=>主键表目录(可能是null
        2. PKTABLE_SCHEM字符串=>主键表架构(可能是null
        3. PKTABLE_NAME字符串=>主键表名称
        4. PKCOLUMN_NAME字符串=>主键列名称
        5. FKTABLE_CAT字符串=>正在导出的外键表目录(可能是null )(可能是null
        6. FKTABLE_SCHEM字符串=>正在导出的外键表架构(可能是null )(可能是null
        7. FKTABLE_NAME字符串=>正在导出外键表名称
        8. FKCOLUMN_NAME字符串=>正在导出的外键列名称
        9. KEY_SEQ=>序列号内的外键(值1表示外键的第一列中,值2将代表外键内的第二列)。
        10. UPDATE_RULE short =>更新主=>时外键会发生什么情况:
          • importedNoAction - 如果已导入主键,则不允许更新主键
          • importedKeyCascade - 更改导入的密钥以同意主键更新
          • importedKeySetNull - 如果主键已更新, NULL导入的密钥更改为NULL
          • importedKeySetDefault - 如果已更新主键,则将导入的键更改为默认值
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
        11. DELETE_RULE short =>删除primary时外键会发生什么情况。
          • importedKeyNoAction - 如果已导入主键,则不允许删除主键
          • importedKeyCascade - 删除导入已删除密钥的行
          • importedKeySetNull - 如果已删除主键, NULL导入的密钥更改为NULL
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
          • importedKeySetDefault - 如果已删除主键,则将导入的密钥更改为默认值
        12. FK_NAME字符串=>外键名称(可能是null
        13. PK_NAME字符串=>主键名称(可能是null
        14. DEFERRABILITY short =>可以将外键约束的评估推迟到提交之前
          • importedKeyInitiallyDeferred - 有关定义,请参阅SQL92
          • importedKeyInitiallyImmediate - 有关定义,请参阅SQL92
          • importedKeyNotDeferrable - 有关定义,请参阅SQL92
        参数
        catalog - 目录名称; 必须匹配存储在此数据库中的目录名称; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在此数据库中的表名
        结果
        ResultSet对象,其中每一行都是外键列描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getImportedKeys(java.lang.String, java.lang.String, java.lang.String)
      • getCrossReference

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

        每个外键列描述都包含以下列:

        1. PKTABLE_CAT字符串=>父键表目录(可能是null
        2. PKTABLE_SCHEM字符串=>父键表架构(可能是null
        3. PKTABLE_NAME字符串=>父键表名称
        4. PKCOLUMN_NAME字符串=>父键列名称
        5. FKTABLE_CAT字符串=>正在导出的外键表目录(可能是null )(可能是null
        6. FKTABLE_SCHEM字符串=>正在导出的外键表架构(可能是null )(可能是null
        7. FKTABLE_NAME字符串=>正在导出的外键表名称
        8. FKCOLUMN_NAME字符串=>正在导出的外键列名称
        9. KEY_SEQ=>序列号内的外键(值1表示外键的第一列中,值2将代表外键内的第二列)。
        10. UPDATE_RULE short =>更新父键时外键会发生什么:
          • importedNoAction - 如果已导入父键,则不允许更新父键
          • importedKeyCascade - 更改导入的密钥以同意父密钥更新
          • importedKeySetNull - 如果已更新其父键, NULL导入的密钥更改为NULL
          • importedKeySetDefault - 如果已更新其父键,则将导入的键更改为默认值
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
        11. DELETE_RULE short =>删除父键时外键会发生什么。
          • importedKeyNoAction - 如果已导入父键,则不允许删除父键
          • importedKeyCascade - 删除导入已删除密钥的行
          • importedKeySetNull - 如果已删除主键, NULL导入的密钥更改为NULL
          • importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
          • importedKeySetDefault - 如果已删除其父键,则将导入的密钥更改为默认值
        12. FK_NAME字符串=>外键名称(可能是null
        13. PK_NAME字符串=>父键名称(可能是null
        14. DEFERRABILITY short =>可以将外键约束的评估推迟到提交之前
          • importedKeyInitiallyDeferred - 有关定义,请参阅SQL92
          • importedKeyInitiallyImmediate - 有关定义,请参阅SQL92
          • importedKeyNotDeferrable - 有关定义,请参阅SQL92
        参数
        parentCatalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示从选择条件中删除目录名称
        parentSchema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示从选择条件中删除模式名称
        parentTable - 导出密钥的表的名称; 必须匹配存储在数据库中的表名
        foreignCatalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示从选择条件中删除目录名称
        foreignSchema - 模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示从选择条件中删除模式名称
        foreignTable - 导入密钥的表的名称; 必须匹配存储在数据库中的表名
        结果
        ResultSet - 每行都是外键列描述
        异常
        SQLException - 如果发生数据库访问错误
        另请参见:
        getImportedKeys(java.lang.String, java.lang.String, java.lang.String)
      • getTypeInfo

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

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

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

        每种类型描述都包含以下列:

        1. TYPE_NAME字符串=>类型名称
        2. DATA_TYPE int =>来自java.sql.Types的SQL数据类型
        3. PRECISION int =>最高精度
        4. LITERAL_PREFIX字符串=>用于引用文字的前缀(可能是null
        5. LITERAL_SUFFIX字符串=>后缀用于引用文字(可能是null
        6. CREATE_PARAMS字符串=>用于创建类型的参数(可能是null
        7. NULLABLE short =>可以为此类型使用NULL。
          • typeNoNulls - 不允许NULL值
          • typeNullable - 允许NULL值
          • typeNullableUnknown - 可空性未知
        8. CASE_SENSITIVE布尔值=>区分大小写。
        9. SEARCHABLE=>你可以根据这个类型使用“WHERE”:
          • typePredNone - 没有支持
          • typePredChar - 仅支持WHERE .. LIKE
          • typePredBasic - 除WHERE以外支持.. LIKE
          • typeSearchable - 支持所有WHERE ..
        10. UNSIGNED_ATTRIBUTE布尔值=>是无符号的。
        11. FIXED_PREC_SCALE布尔值=>可以是货币价值。
        12. AUTO_INCREMENT布尔值=>可以用于自动递增值。
        13. LOCAL_TYPE_NAME字符串=>类型名称的本地化版本(可能是null
        14. MINIMUM_SCALE=>支持最低比例
        15. 最大支持MAXIMUM_SCALE=>
        16. SQL_DATA_TYPE int =>未使用
        17. SQL_DATETIME_SUB int =>未使用
        18. NUM_PREC_RADIX int =>通常为2或10

        PRECISION列表示服务器支持给定数据类型的最大列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        结果
        ResultSet对象,其中每一行都是SQL类型描述
        异常
        SQLException - 如果发生数据库访问错误
      • getIndexInfo

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

        每个索引列描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. NON_UNIQUE boolean =>索引值可以是非唯一的。 当TYPE是tableIndexStatistic时为false
        5. INDEX_QUALIFIER字符串=>索引目录(可能是null ); 当TYPE是tableIndexStatistic时为null
        6. INDEX_NAME字符串=>索引名称; 当TYPE是tableIndexStatistic时为null
        7. TYPE=>索引类型:
          • tableIndexStatistic - 它标识与表的索引描述一起返回的表统计信息
          • tableIndexClustered - 这是一个聚簇索引
          • tableIndexHashed - 这是一个散列索引
          • tableIndexOther - 这是其他一些索引样式
        8. ORDINAL_POSITION=>索引中的列序列号; TYPE为tableIndexStatistic时为零
        9. COLUMN_NAME字符串=>列名; 当TYPE是tableIndexStatistic时为null
        10. ASC_OR_DESC字符串=>列排序顺序,“A” =>升序,“D” =>降序,如果不支持排序顺序,则可以是null ; 当TYPE是tableIndexStatistic时为null
        11. CARDINALITY long =>当TYPE为tableIndexStatistic时,则这是表中的行数; 否则,它是索引中唯一值的数量。
        12. PAGES long =>当TYPE是tableIndexStatistic时,这是用于表的页数,否则它是用于当前索引的页数。
        13. FILTER_CONDITION字符串=>过滤条件(如果有)。 (可能是null
        参数
        catalog - 目录名称; 必须匹配存储在此数据库中的目录名称; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schema - 模式名称; 必须匹配模式名称,因为它存储在此数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        table - 表名; 必须匹配存储在此数据库中的表名
        unique - 如果为true,则仅返回唯一值的索引; 如果为false,则返回索引,无论是否唯一
        approximate - 如果为true,则允许结果反映近似值或超出数据值; 如果为false,则要求结果准确
        结果
        ResultSet - 每行都是索引列描述
        异常
        SQLException - 如果发生数据库访问错误
      • supportsResultSetType

        boolean supportsResultSetType​(int type)
                               throws SQLException
        检索此数据库是否支持给定的结果集类型。
        参数
        type - 在 java.sql.ResultSet定义
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
        另请参见:
        Connection
      • supportsResultSetConcurrency

        boolean supportsResultSetConcurrency​(int type,
                                             int concurrency)
                                      throws SQLException
        检索此数据库是否支持给定的并发类型以及给定的结果集类型。
        参数
        type - 在 java.sql.ResultSet定义
        concurrency - 在 java.sql.ResultSet定义的 java.sql.ResultSet
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
        另请参见:
        Connection
      • ownUpdatesAreVisible

        boolean ownUpdatesAreVisible​(int type)
                              throws SQLException
        检索是否对于给定类型的 ResultSet对象,结果集自己的更新是可见的。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果给定结果集类型的更新可见; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • ownDeletesAreVisible

        boolean ownDeletesAreVisible​(int type)
                              throws SQLException
        检索结果集自己的删除是否可见。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果给定结果集类型的删除是可见的; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • ownInsertsAreVisible

        boolean ownInsertsAreVisible​(int type)
                              throws SQLException
        检索结果集自己的插入是否可见。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果插入对于给定的结果集类型可见; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • othersUpdatesAreVisible

        boolean othersUpdatesAreVisible​(int type)
                                 throws SQLException
        检索其他人所做的更新是否可见。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果其他人所做的更新对于给定的结果集类型是可见的; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • othersDeletesAreVisible

        boolean othersDeletesAreVisible​(int type)
                                 throws SQLException
        检索其他人删除是否可见。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果其他人做出的删除对于给定的结果集类型是可见的; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • othersInsertsAreVisible

        boolean othersInsertsAreVisible​(int type)
                                 throws SQLException
        检索其他人创建的插入是否可见。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果其他人的插入对于给定的结果集类型是可见的; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • updatesAreDetected

        boolean updatesAreDetected​(int type)
                            throws SQLException
        通过调用方法 ResultSet.rowUpdated检索是否可以检测到可见行更新。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果结果集类型检测到更改; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • deletesAreDetected

        boolean deletesAreDetected​(int type)
                            throws SQLException
        通过调用方法ResultSet.rowDeleted检索是否可以检测到可见行删除。 如果方法deletesAreDetected返回false ,则表示从结果集中删除已删除的行。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果给定的结果集类型检测到删除; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • insertsAreDetected

        boolean insertsAreDetected​(int type)
                            throws SQLException
        通过调用方法 ResultSet.rowInserted检索是否可以检测到可见行插入。
        参数
        type - ResultSet类型; 之一ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE ,或ResultSet.TYPE_SCROLL_SENSITIVE
        结果
        true如果指定的结果集类型检测到更改; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • supportsBatchUpdates

        boolean supportsBatchUpdates()
                              throws SQLException
        检索此数据库是否支持批量更新。
        结果
        true如果此数据库支持批量更新; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • getUDTs

        ResultSet getUDTs​(String catalog,
                          String schemaPattern,
                          String typeNamePattern,
                          int[] types)
                   throws SQLException
        检索特定模式中定义的用户定义类型(UDT)的描述。 架构特定的UDT可具有类型JAVA_OBJECTSTRUCT ,或DISTINCT

        仅返回与目录,架构,类型名称和类型条件匹配的类型。 他们被下令DATA_TYPETYPE_CATTYPE_SCHEMTYPE_NAME 类型名称参数可以是完全限定名称。 在这种情况下,将忽略catalog和schemaPattern参数。

        每种类型描述都包含以下列:

        1. TYPE_CAT字符串=>该类型的目录(可能是null
        2. TYPE_SCHEM字符串=>类型的架构(可能是null
        3. TYPE_NAME字符串=>类型名称
        4. CLASS_NAME字符串=> Java类名称
        5. DATA_TYPE int =>在java.sql.Types中定义的类型值。 JAVA_OBJECT,STRUCT或DISTINCT之一
        6. 备注字符串=>对类型的解释性注释
        7. BASE_TYPE short => DISTINCT类型的源类型的类型代码,或实现java.sql.Types中定义的结构化类型的SELF_REFERENCING_COLUMN的用户生成引用类型的类型(如果DATA_TYPE不是DISTINCT, null ,不带STRUCT, REFERENCE_GENERATION = USER_DEFINED)

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

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式模式名称; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        typeNamePattern - 类型名称模式; 必须匹配存储在数据库中的类型名称; 可能是一个完全限定的名称
        types - 要包括的用户定义类型(JAVA_OBJECT,STRUCT或DISTINCT)的列表; null返回所有类型
        结果
        ResultSet每个行描述UDT的对象
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
        另请参见:
        getSearchStringEscape()
      • getConnection

        Connection getConnection()
                          throws SQLException
        检索生成此元数据对象的连接。
        结果
        生成此元数据对象的连接
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.2
      • supportsSavepoints

        boolean supportsSavepoints()
                            throws SQLException
        检索此数据库是否支持保存点。
        结果
        true如果支持保存点; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • supportsNamedParameters

        boolean supportsNamedParameters()
                                 throws SQLException
        检索此数据库是否支持可调用语句的命名参数。
        结果
        true如果支持命名参数; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • supportsMultipleOpenResults

        boolean supportsMultipleOpenResults()
                                     throws SQLException
        检索是否有可能具有多个 ResultSet从返回的对象 CallableStatement对象同时进行。
        结果
        true如果CallableStatement对象可以同时返回多个ResultSet对象; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • supportsGetGeneratedKeys

        boolean supportsGetGeneratedKeys()
                                  throws SQLException
        检索在执行语句后是否可以检索自动生成的键
        结果
        true如果在执行语句后可以检索自动生成的键; 否则为false

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

        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getSuperTypes

        ResultSet getSuperTypes​(String catalog,
                                String schemaPattern,
                                String typeNamePattern)
                         throws SQLException
        检索此数据库中特定模式中定义的用户定义类型(UDT)层次结构的描述。 仅建立立即超类型/子类型关系。

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

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

        1. TYPE_CAT字符串=> UDT的目录(可能是null
        2. TYPE_SCHEM字符串=> UDT的架构(可能是null
        3. TYPE_NAME字符串=> UDT的类型名称
        4. SUPERTYPE_CAT字符串=>直接超级类型的目录(可能是null
        5. SUPERTYPE_SCHEM字符串=>直接超类型的架构(可能是null
        6. SUPERTYPE_NAME字符串=>直接超级类型的名称

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

        参数
        catalog - 目录名称; “”检索那些没有目录的人; null表示从选择条件中删除目录名称
        schemaPattern - 模式名称模式; “”检索没有架构的那些
        typeNamePattern - UDT名称模式; 可能是一个完全限定的名称
        结果
        一个 ResultSet对象,其中一行提供有关指定UDT的信息
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
        另请参见:
        getSearchStringEscape()
      • getSuperTables

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

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

        每种类型描述都包含以下列:

        1. TABLE_CAT字符串=>类型的目录(可能是null
        2. TABLE_SCHEM字符串=>类型的模式(可为null
        3. TABLE_NAME字符串=>类型名称
        4. SUPERTABLE_NAME字符串=>直接超级类型的名称

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

        参数
        catalog - 目录名称; “”检索那些没有目录的人; null表示从选择条件中删除目录名称
        schemaPattern - 模式名称模式; “”检索没有架构的那些
        tableNamePattern - 表名模式; 可能是一个完全限定的名称
        结果
        ResultSet对象,其中每一行都是类型描述
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
        另请参见:
        getSearchStringEscape()
      • getAttributes

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

        仅针对与目录,架构,类型和属性名称条件匹配的UDT的属性返回描述。 他们被下令TYPE_CATTYPE_SCHEMTYPE_NAMEORDINAL_POSITION 此描述不包含继承的属性。

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

        1. TYPE_CAT字符串=>类型目录(可能是null
        2. TYPE_SCHEM字符串=>类型架构(可能是null
        3. TYPE_NAME字符串=>类型名称
        4. ATTR_NAME字符串=>属性名称
        5. DATA_TYPE int =>属性类型来自java.sql.Types的SQL类型
        6. ATTR_TYPE_NAME字符串=>数据源相关类型名称。 对于UDT,类型名称是完全限定的。 对于REF,类型名称是完全限定的,表示引用类型的目标类型。
        7. ATTR_SIZE int =>列大小。 对于char或日期类型,这是最大字符数; 对于数字或小数类型,这是精度。
        8. DECIMAL_DIGITS int =>小数位数。 对于DECIMAL_DIGITS不适用的数据类型,将返回Null。
        9. NUM_PREC_RADIX int =>基数(通常为10或2)
        10. NULLABLE int =>是否允许NULL
          • attributeNoNulls - 可能不允许NULL值
          • attributeNullable - 肯定允许NULL值
          • attributeNullableUnknown - 可空性未知
        11. 备注字符串=>描述列的评论(可能是null
        12. ATTR_DEF字符串=>默认值(可能是null
        13. SQL_DATA_TYPE int =>未使用
        14. SQL_DATETIME_SUB int =>未使用
        15. CHAR_OCTET_LENGTH int => for char类型列中的最大字节数
        16. ORDINAL_POSITION int => UDT中属性的索引(从1开始)
        17. IS_NULLABLE字符串=> ISO规则用于确定属性的可为空性。
          • 是---如果属性可以包含NULL
          • NO ---如果属性不能包含NULL
          • 空字符串---如果属性的可空性未知
        18. SCOPE_CATALOG字符串=>作为引用属性范围的表的目录(如果DATA_TYPE不是REF, null
        19. SCOPE_SCHEMA字符串=>作为引用属性范围的表的模式(如果DATA_TYPE不是REF, null
        20. SCOPE_TABLE字符串=>表名称是引用属性的范围(如果DATA_TYPE不是REF, null
        21. SOURCE_DATA_TYPE short =>不同类型的源类型或用户生成的Ref类型,java.sql.Types中的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF, null
        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        typeNamePattern - 类型名称模式; 必须匹配存储在数据库中的类型名称
        attributeNamePattern - 属性名称模式; 必须匹配在数据库中声明的属性名称
        结果
        ResultSet对象,其中每一行都是属性描述
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
        另请参见:
        getSearchStringEscape()
      • supportsResultSetHoldability

        boolean supportsResultSetHoldability​(int holdability)
                                      throws SQLException
        检索此数据库是否支持给定的结果集可保持性。
        参数
        holdability - 以下常量之一: ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
        另请参见:
        Connection
      • getResultSetHoldability

        int getResultSetHoldability()
                             throws SQLException
        检索此数据库的 ResultSet对象的默认可保存性。
        结果
        默认可保持性; ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getDatabaseMajorVersion

        int getDatabaseMajorVersion()
                             throws SQLException
        检索基础数据库的主版本号。
        结果
        底层数据库的主要版本
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getDatabaseMinorVersion

        int getDatabaseMinorVersion()
                             throws SQLException
        检索基础数据库的次要版本号。
        结果
        底层数据库的次要版本
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getJDBCMajorVersion

        int getJDBCMajorVersion()
                         throws SQLException
        检索此驱动程序的主要JDBC版本号。
        结果
        JDBC版本的主要编号
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getJDBCMinorVersion

        int getJDBCMinorVersion()
                         throws SQLException
        检索此驱动程序的次要JDBC版本号。
        结果
        JDBC版本次要编号
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getSQLStateType

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

        boolean locatorsUpdateCopy()
                            throws SQLException
        指示对LOB进行的更新是在副本上进行还是直接对LOB进行。
        结果
        true如果对LOB的副本进行了更新; false如果直接对LOB进行更新
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • supportsStatementPooling

        boolean supportsStatementPooling()
                                  throws SQLException
        检索此数据库是否支持语句池。
        结果
        true若有; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.4
      • getRowIdLifetime

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

        ResultSet getSchemas​(String catalog,
                             String schemaPattern)
                      throws SQLException
        检索此数据库中可用的模式名称。 结果由TABLE_CATALOGTABLE_SCHEM

        架构列是:

        1. TABLE_SCHEM字符串=>模式名称
        2. TABLE_CATALOG字符串=>目录名称(可能是null
        参数
        catalog - 目录名称; 必须匹配存储在数据库中的目录名称;“”检索没有目录的目录名称; null表示不应使用目录名称来缩小搜索范围。
        schemaPattern - 模式名称; 必须匹配模式名称,因为它存储在数据库中; null表示不应使用模式名称来缩小搜索范围。
        结果
        ResultSet对象,其中每一行都是架构描述
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
        另请参见:
        getSearchStringEscape()
      • supportsStoredFunctionsUsingCallSyntax

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

        boolean autoCommitFailureClosesAllResultSets()
                                              throws SQLException
        检索SQLException而autoCommit是否为true表示所有打开的ResultSet都已关闭,即使是可保留的。 当autocommit为SQLException时发生true ,JDBC驱动程序是使用提交操作,回滚操作还是既不执行提交也不执行回滚来响应供应商。 这种差异的潜在结果在于是否关闭了可保留的ResultSet。
        结果
        true若是; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
      • getClientInfoProperties

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

        ResultSet按NAME列排序

        结果
        A ResultSet对象; 每行都是受支持的客户端信息属性
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
      • getFunctions

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

        仅返回与模式和函数名称条件匹配的系统和用户功能描述。 他们被下令FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ NAME

        每个函数描述都包含以下列:

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

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

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        functionNamePattern - 函数名称模式; 必须匹配存储在数据库中的函数名称
        结果
        ResultSet - 每行是一个功能描述
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
        另请参见:
        getSearchStringEscape()
      • getFunctionColumns

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

        仅返回与架构,函数和参数名称条件匹配的描述。 他们被下令FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ NAME 在此范围内,返回值(如果有)是第一个。 接下来是调用顺序中的参数描述。 列描述遵循列号顺序。

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

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

        PRECISION列表示给定参数或列的指定列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        functionNamePattern - 过程名称模式; 必须匹配存储在数据库中的函数名称
        columnNamePattern - 参数名称模式; 必须匹配存储在数据库中的参数或列名
        结果
        ResultSet - 每行描述用户函数参数,列或返回类型
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
        另请参见:
        getSearchStringEscape()
      • getPseudoColumns

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

        仅返回与目录,架构,表和列名称条件匹配的列描述。 他们被下令TABLE_CATTABLE_SCHEMTABLE_NAMECOLUMN_NAME

        每列描述都包含以下列:

        1. TABLE_CAT字符串=>表目录(可能是null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. COLUMN_NAME字符串=>列名
        5. DATA_TYPE int => java.sql.Types中的SQL类型
        6. COLUMN_SIZE int =>列大小。
        7. DECIMAL_DIGITS int =>小数位数。 对于DECIMAL_DIGITS不适用的数据类型,将返回Null。
        8. NUM_PREC_RADIX int =>基数(通常为10或2)
        9. COLUMN_USAGE字符串=>列的允许用法。 返回的值将对应于PseudoColumnUsage.name()返回的枚举名称
        10. 备注字符串=>评论描述列(可能是null
        11. CHAR_OCTET_LENGTH int => for char类型列中的最大字节数
        12. IS_NULLABLE字符串=> ISO规则用于确定列的可为空性。
          • 是---如果列可以包含NULL
          • NO ---如果列不能包含NULL
          • 空字符串---如果列的可空性未知

        COLUMN_SIZE列指定给定列的列大小。 对于数字数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示的字符长度(假设小数秒组件的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,将返回Null。

        参数
        catalog - 目录名称; 必须匹配目录名称,因为它存储在数据库中; “”检索那些没有目录的人; null表示不应使用目录名称来缩小搜索范围
        schemaPattern - 模式名称模式; 必须匹配模式名称,因为它存储在数据库中; “”检索没有架构的那些; null表示不应使用模式名称来缩小搜索范围
        tableNamePattern - 表名模式; 必须匹配存储在数据库中的表名
        columnNamePattern - 列名模式; 必须匹配列名称,因为它存储在数据库中
        结果
        ResultSet - 每行都是列描述
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.7
        另请参见:
        PseudoColumnUsage
      • generatedKeyAlwaysReturned

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

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

        默认实现将返回0

        结果
        允许的最大字节数; 零的结果意味着没有限制或限制未知
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.8
      • supportsRefCursors

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

        默认实现将返回false

        结果
        true如果此数据库支持REF CURSOR; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.8
      • supportsSharding

        default boolean supportsSharding()
                                  throws SQLException
        检索此数据库是否支持分片。
        实现要求:
        默认实现将返回 false
        结果
        true此数据库是否支持分片; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        9