Module  java.sql
软件包  java.sql

Interface DatabaseMetaData

  • All Superinterfaces:
    Wrapper


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

    此接口由驱动程序供应商实现,以便用户根据与其一起使用的JDBC技术(“JDBC驱动程序”)结合驱动程序知道数据库管理系统(DBMS)的功能。 不同的关系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可能值。

        另请参见:
        Constant Field Values
      • procedureNoResult

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

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

        另请参见:
        Constant Field Values
      • procedureReturnsResult

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

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

        另请参见:
        Constant Field Values
      • procedureColumnUnknown

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

        COLUMN_TYPEResultSet的列可能的值由方法getProcedureColumns返回。

        另请参见:
        Constant Field Values
      • procedureColumnIn

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

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

        另请参见:
        Constant Field Values
      • procedureColumnInOut

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

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

        另请参见:
        Constant Field Values
      • procedureColumnOut

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

        COLUMN_TYPEResultSet的列可能的值由方法getProcedureColumns返回。

        另请参见:
        Constant Field Values
      • procedureColumnReturn

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

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

        另请参见:
        Constant Field Values
      • procedureColumnResult

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

        COLUMN_TYPEResultSet列中可能的值由方法getProcedureColumns返回。

        另请参见:
        Constant Field Values
      • procedureNoNulls

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

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

        另请参见:
        Constant Field Values
      • procedureNullable

        static final int procedureNullable
        表示允许NULL值。

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

        另请参见:
        Constant Field Values
      • procedureNullableUnknown

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

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

        另请参见:
        Constant Field Values
      • columnNoNulls

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

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

        另请参见:
        Constant Field Values
      • columnNullable

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

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

        另请参见:
        Constant Field Values
      • columnNullableUnknown

        static final int columnNullableUnknown
        表示列的无效性是未知的。

        NULLABLEResultSet列可能的值由方法getColumns返回。

        另请参见:
        Constant Field Values
      • bestRowTemporary

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

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

        另请参见:
        Constant Field Values
      • bestRowTransaction

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

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

        另请参见:
        Constant Field Values
      • bestRowSession

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

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

        另请参见:
        Constant Field Values
      • bestRowUnknown

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

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

        另请参见:
        Constant Field Values
      • bestRowNotPseudo

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

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

        另请参见:
        Constant Field Values
      • bestRowPseudo

        static final int bestRowPseudo
        表示最佳行标识符是伪列。

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

        另请参见:
        Constant Field Values
      • versionColumnUnknown

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

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

        另请参见:
        Constant Field Values
      • versionColumnNotPseudo

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

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

        另请参见:
        Constant Field Values
      • versionColumnPseudo

        static final int versionColumnPseudo
        表示此版本列是伪列。

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

        另请参见:
        Constant Field Values
      • importedKeyCascade

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

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

        另请参见:
        Constant Field Values
      • importedKeyRestrict

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

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

        另请参见:
        Constant Field Values
      • importedKeySetNull

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

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

        另请参见:
        Constant Field Values
      • importedKeyNoAction

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

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

        另请参见:
        Constant Field Values
      • importedKeySetDefault

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

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

        另请参见:
        Constant Field Values
      • importedKeyInitiallyDeferred

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

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

        另请参见:
        Constant Field Values
      • importedKeyInitiallyImmediate

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

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

        另请参见:
        Constant Field Values
      • importedKeyNotDeferrable

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

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

        另请参见:
        Constant Field Values
      • typeNoNulls

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

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

        另请参见:
        Constant Field Values
      • typeNullable

        static final int typeNullable
        表示允许此数据类型的值为NULL

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

        另请参见:
        Constant Field Values
      • typeNullableUnknown

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

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

        另请参见:
        Constant Field Values
      • typePredNone

        static final int typePredNone
        表示此类型不支持搜索条件WHERE

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

        另请参见:
        Constant Field Values
      • typePredChar

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

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

        另请参见:
        Constant Field Values
      • typePredBasic

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

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

        另请参见:
        Constant Field Values
      • typeSearchable

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

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

        另请参见:
        Constant Field Values
      • tableIndexStatistic

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

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

        另请参见:
        Constant Field Values
      • tableIndexClustered

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

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

        另请参见:
        Constant Field Values
      • tableIndexHashed

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

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

        另请参见:
        Constant Field Values
      • tableIndexOther

        static final short tableIndexOther
        表示此表索引不是聚簇索引,散列索引或表统计信息; 这是其他的东西。

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

        另请参见:
        Constant Field Values
      • attributeNoNulls

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

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

        另请参见:
        Constant Field Values
      • attributeNullable

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

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

        另请参见:
        Constant Field Values
      • attributeNullableUnknown

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

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

        另请参见:
        Constant Field Values
      • sqlStateXOpen

        static final int sqlStateXOpen
        该方法一个可能的返回值 DatabaseMetaData.getSQLStateType这是用来指示由方法返回的值是否 SQLException.getSQLState是X /打开(现在知道的公开组)SQL CLI SQLSTATE值。
        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • sqlStateSQL

        static final int sqlStateSQL
        用于指示方法 DatabaseMetaData.getSQLStateType返回的值是否为SQLSTATE值的方法 SQLException.getSQLState的可能返回值。
        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • sqlStateSQL99

        static final int sqlStateSQL99
        该方法一个可能的返回值DatabaseMetaData.getSQLStateType这是用来指示由方法返回的值是否SQLException.getSQLState是一个SQL99 SQLSTATE值。

        注意:这个常数只是出于兼容性原因。 开发人员应该使用常数sqlStateSQL代替。

        从以下版本开始:
        1.4
        另请参见:
        Constant Field Values
      • functionColumnUnknown

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

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

        另请参见:
        Constant Field Values
      • functionColumnIn

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

        COLUMN_TYPEResultSet列可能的值由方法getFunctionColumns返回。

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionColumnInOut

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionColumnOut

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

        COLUMN_TYPEResultSet列可能的值由方法getFunctionColumns返回。

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionReturn

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionColumnResult

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionNoNulls

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionNullable

        static final int functionNullable
        表示允许NULL值。

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionNullableUnknown

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionResultUnknown

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionNoTable

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
      • functionReturnsTable

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

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

        从以下版本开始:
        1.6
        另请参见:
        Constant Field Values
    • 方法详细信息

      • 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值是否排序低。 Sorted low表示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函数escape子句中使用的Open / Open CLI数学函数名称。
        结果
        该数据库支持的数学函数列表
        异常
        SQLException - 如果发生数据库访问错误
      • getStringFunctions

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

        String getSystemFunctions​()
                           throws SQLException
        检索此数据库可用的系统函数的逗号分隔列表。 这些是JDBC函数escape子句中使用的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
        检索此数据库是否支持带有删除列的 ALTER TABLE
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsColumnAliasing

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

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

        结果
        true如果是的话; false否则
        异常
        SQLException - 如果发生数据库访问错误
      • nullPlusNonNullIsNull

        boolean nullPlusNonNullIsNull​()
                               throws SQLException
        检索此数据库是否支持 NULLNULL之间的连接值为 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的类型代码java.sql.Types
        toType - 要转换的类型; 来自类别java.sql.Types的类型代码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子句中使用 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最低SQL语法。
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
      • supportsCoreSQLGrammar

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

        boolean supportsExtendedSQLGrammar​()
                                    throws SQLException
        检索此数据库是否支持ODBC扩展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完整性增强工具。
        结果
        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
        200的X- 200 200 X- 200 200 X- 200 200:

        仅返回与模式和过程名称标准相匹配的过程描述。 他们被下令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返回的任何过程的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 Short =>列/参数:
          • 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规则用于确定列的可空性。
          • YES ---如果列可以包含NULL
          • 否---如果列不能包含NULL
          • 空字符串---如果列的可空性是未知的
        20. SPECIFIC_NAME字符串=>在其模式中唯一标识此过程的名称。

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

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

        参数
        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_NAME ,并ORDINAL_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不适用的数据类型,返回空值。
        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 =>用于char类型列中最大字节数
        17. ORDINAL_POSITION int =>表中的列索引(从1开始)
        18. IS_NULLABLE字符串=> ISO规则用于确定列的可空性。
          • YES ---如果列可以包含NULL
          • 否---如果列不能包含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 short =>不同类型或用户生成的引用类型的源类型,java.sql.Types中的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF, null
        23. IS_AUTOINCREMENT字符串=>指示此列是否自动递增
          • YES ---如果列自动递增
          • 否---如果列不自动递增
          • 空字符串---如果无法确定列是否自动递增
        24. IS_GENERATEDCOLUMN字符串=>指示这是否是生成的列
          • 是---如果这是一个生成的列
          • 否---如果这不是一个生成的列
          • 空字符串---如果无法确定这是否是生成的列

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

        参数
        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字符串=>授权人
        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_NAME ,并PRIVILEGE

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

        1. TABLE_CAT字符串=>表目录(可能为null
        2. TABLE_SCHEM字符串=>表模式(可以是null
        3. TABLE_NAME字符串=>表名
        4. GRANTOR字符串=>设保人访问(可能为null
        5. GRANTEE字符串=>访问=>
        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. 范围=>实际结果范围
          • 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不适用的数据类型,返回空值。
        8. PSEUDO_COLUMN short =>这是一个像Oracle ROWID这样的伪列
          • bestRowUnknown - 可能是也可能不是伪列
          • bestRowNotPseudo - 不是伪列
          • bestRowPseudo - 是一个伪列

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

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

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

        每列描述具有以下列:

        1. SCOPE=>未使用
        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不适用的数据类型,返回空值。
        8. PSEUDO_COLUMN short =>这是伪列如Oracle ROWID
          • versionColumnUnknown - 可能是也可能不是伪列
          • versionColumnNotPseudo - 不是伪列
          • versionColumnPseudo - 是一个伪列

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

        参数
        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 (可以是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
          • 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 =>当删除主键时,外键会发生什么。
          • importedKeyNoAction - 如果导入了主键,则不允许删除主键
          • importedKeyCascade - 删除导入已删除密钥的行
          • importedKeySetNull - 如果主键已被删除, NULL导入的键更改为NULL
          • importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
          • importedKeySetDefault - 如果主键已被删除,则将导入的键更改为默认值
        12. FK_NAME字符串=>外键名称(可能为null
        13. PK_NAME字符串=>主键名称(可能为null
        14. DEFERRABILITY=>可能的外键约束的评估延迟到提交
          • 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()将返回一行具有DISTINCT的TYPE_NAME和Types.DISTINCT的DATA_TYPE。 如果数据库支持SQL结构化类型,那么getTypeInfo()将返回一个TYPE_NAME为STRUCT和DATA_TYPE为Types.STRUCT的单行。

        如果支持SQL不同或结构化类型,则可以从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 boolean =>是区分大小写的。
        9. SEARCHABLE short =>可以使用基于此类型的“WHERE”:
          • typePredNone - 不支持
          • typePredChar - 仅支持WHERE .. LIKE
          • typePredBasic - 支持除了WHERE .. LIKE
          • typeSearchable - 支持所有WHERE ..
        10. UNSIGNED_ATTRIBUTE boolean =>是无符号的。
        11. FIXED_PREC_SCALE boolean =>可以是一个货币值。
        12. AUTO_INCREMENT boolean =>可以用于自动递增值。
        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数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。

        结果
        一个 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 short =>索引类型:
          • 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,则只返回唯一值的索引; 当假,返回指数,不管是否唯一
        approximate - 如果为true,则允许结果反映近似值或数据值; 如果虚假,请求结果准确
        结果
        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 type name参数可能是一个完全限定名称。 在这种情况下,目录和schemaPattern参数将被忽略。

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

        1. TYPE_CAT字符串=>该类型的目录(可能是null
        2. TYPE_SCHEM字符串=>类型的模式(可以是null
        3. TYPE_NAME字符串=>类型名称
        4. CLASS_NAME String => Java类名
        5. DATA_TYPE int => java.sql.Types中定义的类型值。 JAVA_OBJECT,STRUCT或DISTINCT之一
        6. 备注字符串=>对类型的解释性注释
        7. BASE_TYPE short => DISTINCT类型的源类型的类型代码或实现java.sql.Types中定义的结构化类型的SELF_REFERENCING_COLUMN的用户生成的引用类型的类型( null如果DATA_TYPE不是DISTINCT或不是STRUCT与null 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的超类型信息。 type name参数可能是一个完全限定名称。 当提供的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或date类型,这是最大字符数; 对于数字或十进制类型,这是精度。
        8. DECIMAL_DIGITS int =>小数位数。 对于DECIMAL_DIGITS不适用的数据类型,返回空值。
        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 =>用于char类型列中最大字节数
        16. ORDINAL_POSITION int => UDT属性的索引(从1开始)
        17. IS_NULLABLE字符串=> ISO规则用于确定属性的可空性。
          • YES ---如果属性可以包含NULL
          • 否---如果属性不能包含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 =>不同类型或用户生成的引用类型的源类型,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
        结果
        默认保持性; 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。
        结果
        如果对LOB的副本进行更新, true ; 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是关闭的,即使是可保留的。 当自动提交为SQLException时出现true ,由供应商决定,JDBC驱动程序是否使用提交操作,回滚操作或既不执行提交也不回滚。 这种差异的潜在结果是可否保存的ResultSet是否关闭。
        结果
        true如果是的话; 否则为false
        异常
        SQLException - 如果发生数据库访问错误
        从以下版本开始:
        1.6
      • getClientInfoProperties

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

        ResultSet按NAME列排序

        结果
        一个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返回的任何功能的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 Short =>种列/参数:
          • 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规则用于确定参数或列的可空性。
          • YES ---如果参数或列可以包含NULL
          • 否---如果参数或列不能包含NULL
          • 空字符串---如果参数或列的可空性是未知的
        17. SPECIFIC_NAME字符串=>在其模式中唯一标识此函数的名称。 这是一个用户指定的或DBMS生成的名称,可能与FUNCTION_NAME不同,例如具有过载功能

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

        参数
        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不适用的数据类型,返回空值。
        8. NUM_PREC_RADIX int =>基数(通常为10或2)
        9. COLUMN_USAGE字符串=>列的允许使用。 返回的值将对应于由PseudoColumnUsage.name()返回的枚举名称
        10. 备注字符串=>注释描述列(可以是null
        11. CHAR_OCTET_LENGTH int =>用于char类型列中最大字节数
        12. IS_NULLABLE字符串=> ISO规则用于确定列的可空性。
          • YES ---如果列可以包含NULL
          • 否---如果列不能包含NULL
          • 空字符串---如果列的可空性是未知的

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

        参数
        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