当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)

接口 java.sql.DatabaseMetaData

public interface DatabaseMetaData

该类提供了关于数据库的整体信息。

这里的许多方法将在 ResultSets 中返回信息列表。可以使用一般的 ResultSet 方法如 getString 和 getInt 从这些 ResultSet 中检索数据。如果给定的元数据格式是不可用的,这些方法将抛出一个 SQLException。

有些方法采用 String 模式的参数。这些参数都具有诸如 fooPattern 的名称。在一个模式字符串中,"%" 表示匹配任意由 0 个或多个字符组成的子字符串,"_" 表示匹配任意一个字符。只返回与搜索模式匹配的元数据项。如果将一个搜索模式参数设置为 null 引用,这意味着将从搜索中删除该参数的标准。

如果驱动程序不支持元数据方法,将抛出一个 SQLException。在方法返回一个 ResultSet 的情况下,将返回一个 ResultSet ( 它可能为空 ) 或者抛出一个 SQLException。


变量索引

bestRowNotPseudo
BEST ROW PSEUDO_COLUMN - 不是一个伪列。
bestRowPseudo
BEST ROW PSEUDO_COLUMN - 是一个伪列。
bestRowSession
BEST ROW SCOPE - 对于当前会话的剩余行有效。
bestRowTemporary
BEST ROW SCOPE - 当使用行时,是暂时的。
bestRowTransaction
BEST ROW SCOPE - 对于当前事务的剩余行有效。
bestRowUnknown
BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。
columnNoNulls
COLUMN NULLABLE - 可能不允许 NULL 值。
columnNullable
COLUMN NULLABLE - 明确的允许 NULL 值。
columnNullableUnknown
COLUMN NULLABLE - 不知道是否允许 NULL 值。
importedKeyCascade
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入了已删除关键字的行。
importedKeyInitiallyDeferred
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
importedKeyInitiallyImmediate
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
importedKeyNoAction
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
importedKeyNotDeferrable
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
importedKeyRestrict
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
importedKeySetDefault
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。
importedKeySetNull
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。
procedureColumnIn
COLUMN_TYPE - IN 参数。
procedureColumnInOut
COLUMN_TYPE - INOUT 参数。
procedureColumnOut
COLUMN_TYPE - OUT 参数。
procedureColumnResult
COLUMN_TYPE - ResultSet 中的结果列。
procedureColumnReturn
COLUMN_TYPE - 过程返回值。
procedureColumnUnknown
COLUMN_TYPE - 未知值。
procedureNoNulls
TYPE NULLABLE - 不允许 NULL 值。
procedureNoResult
PROCEDURE_TYPE - 不返回结果。
procedureNullable
TYPE NULLABLE - 允许 NULL 值。
procedureNullableUnknown
TYPE NULLABLE - 不知道是否允许 NULL 值。
procedureResultUnknown
PROCEDURE_TYPE - 可能返回一个结果。
procedureReturnsResult
PROCEDURE_TYPE - 返回结果。
tableIndexClustered
INDEX INFO TYPE - 它定义了一个分簇的索引。
tableIndexHashed
INDEX INFO TYPE - 它定义了一个散列的索引。
tableIndexOther
INDEX INFO TYPE - 它定义了其它形式的索引。
tableIndexStatistic
INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。
typeNoNulls
TYPE NULLABLE - 不允许 NULL 值。
typeNullable
TYPE NULLABLE - 允许 NULL 值。
typeNullableUnknown
TYPE NULLABLE - 不知道是否允许 NULL 值。
typePredBasic
TYPE INFO SEARCHABLE - 除 WHERE .. 以外的都支持。
typePredChar
TYPE INFO SEARCHABLE - 只支持 WHERE ..
typePredNone
TYPE INFO SEARCHABLE - 没有支持。
typeSearchable
TYPE INFO SEARCHABLE - 所有的 WHERE .. 都支持。
versionColumnNotPseudo
VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。
versionColumnPseudo
VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。
versionColumnUnknown
VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。

方法索引

allProceduresAreCallable()
当前用户是否可以调用所有由 getProcedures 返回的过程?
allTablesAreSelectable()
当前用户是否可以 SELECT 所有由 getTable 返回的表?
dataDefinitionCausesTransactionCommit()
一个事务中的数据定义语句是否强迫事务提交?
dataDefinitionIgnoredInTransactions()
是否被忽略一个事务中的数据定义语句?
doesMaxRowSizeIncludeBlobs()
getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?
getBestRowIdentifier(String, String, String, int, boolean)
获得一个表中能唯一地标识一行的最优的列集合的说明。
getCatalogs()
获得可用于该数据库中的分类表名。
getCatalogSeparator()
获得分类表名和表名之间的分隔符。
getCatalogTerm()
获得数据库供应商的“分类表”的首选项。
getColumnPrivileges(String, String, String, String)
获得对表的某一列的访问权的说明。
getColumns(String, String, String, String)
获得可用于分类表中的对表列的说明。
getCrossReference(String, String, String, String, String, String)
获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。
getDatabaseProductName()
获得该数据库产品名称。
getDatabaseProductVersion()
获得该数据库产品的版本。
getDefaultTransactionIsolation()
获得数据库缺省的事务隔离级别。数值定义在 java.sql.Connection 中。
getDriverMajorVersion()
获得该 JDBC 驱动程序的主版本号。
getDriverMinorVersion()
获得该 JDBC 驱动程序的次版本号。
getDriverName()
获得该 JDBC 驱动程序的名称。
getDriverVersion()
获得该 JDBC 驱动程序的版本。
getExportedKeys(String, String, String)
获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。
getExtraNameCharacters()
获得所有“附加的”字符,它们可用于未加引号的标识符名称中 ( 在 a-z、A-Z、0-9 范围之外的字符和 _)。
getIdentifierQuoteString()
获得用于加引号于 SQL 标识符的引号字符串。如果不支持标识符加引号,它将返回一个空格 " "。
getImportedKeys(String, String, String)
获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。
getIndexInfo(String, String, String, boolean, boolean)
获得一个关于表的索引和统计信息。
getMaxBinaryLiteralLength()
获得嵌入的二进制文字中允许的十六进制字符的最大数目。
getMaxCatalogNameLength()
获得分类表名的最大长度。
getMaxCharLiteralLength()
获得一个二进制文字的最大长度。
getMaxColumnNameLength()
获得对列名的长度的限制。
getMaxColumnsInGroupBy()
获得在一个 "GROUP BY" 子句中最大的列数。
getMaxColumnsInIndex()
获得一个索引中允许最大的列数。
getMaxColumnsInOrderBy()
获得在一个 "ORDER BY" 子句中最大的列数。
getMaxColumnsInSelect()
获得在一个 "SELECT" 列表中最大的列数。
getMaxColumnsInTable()
获得一个表中最大的列数。
getMaxConnections()
获得同时与该数据库连接的有效连接的最大数目。
getMaxCursorNameLength()
获得游标名的最大长度。
getMaxIndexLength()
获得一个索引的最大长度 ( 以字节计 )。
getMaxProcedureNameLength()
获得过程名的最大长度。
getMaxRowSize()
获得单个行的最大长度。
getMaxSchemaNameLength()
获得一个模式名允许的最大长度。
getMaxStatementLength()
获得 SQL 语句的最大长度。
getMaxStatements()
获得同时对该数据库打开的有效语句的数目。
getMaxTableNameLength()
获得表名的最大长度。
getMaxTablesInSelect()
获得一个 SELECT 中表的最大数目。
getMaxUserNameLength()
获得用户名的最大长度。
getNumericFunctions()
获得一个用逗号隔开的数学函数列表。
getPrimaryKeys(String, String, String)
获得关于一个表主关键字列的说明。
getProcedureColumns(String, String, String, String)
获得关于一个分类表的存储过程参数和结果列的说明。
getProcedures(String, String, String)
获得关于可用于一个分类表中的存储过程的说明。
getProcedureTerm()
获得数据库供应商的“过程”的首选项。
getSchemas()
获得可用于该数据库中的模式名。
getSchemaTerm()
获得数据库供应商的“模式”的首选项。
getSearchStringEscape()
获得在字符串模式风格分类表搜索参数中用于改变 '_' 或 '%' 的含义的转义字符串。
getSQLKeywords()
获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是 SQL92 关键字。
getStringFunctions()
获得一个用逗号隔开的字符串函数列表。
getSystemFunctions()
获得一个用逗号隔开的系统功能列表。
getTablePrivileges(String, String, String)
获得对可用于分类表中的表访问权的说明。
getTables(String, String, String, String[])
获得可用于一个分类表中的表的说明。
getTableTypes()
获得可用于该数据库中的表的类型。
getTimeDateFunctions()
获得一个用逗号隔开的时间日期函数列表。
getTypeInfo()
获得该数据库支持的所有标准 SQL 类型说明。
getURL()
获得该数据库的 url。
getUserName()
获得数据库知道的用户名。
getVersionColumns(String, String, String)
获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。
isCatalogAtStart()
一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )
isReadOnly()
数据库是否在只读模式?
nullPlusNonNullIsNull()
将 NULL 和非 NULL 值进行拼接是否为 NULL? 一个遵守 JDBC 的驱动程序总是返回 true。
nullsAreSortedAtEnd()
无论排序次序如何,NULL 值是否总排在末尾?
nullsAreSortedAtStart()
无论排序次序如何,NULL 值是总否排在开始?
nullsAreSortedHigh()
NULL 值是否被排在高端?
nullsAreSortedLow()
NULL 值是否被排在低端?
storesLowerCaseIdentifiers()
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
storesLowerCaseQuotedIdentifiers()
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
storesMixedCaseIdentifiers()
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
storesMixedCaseQuotedIdentifiers()
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
storesUpperCaseIdentifiers()
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
storesUpperCaseQuotedIdentifiers()
该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
supportsAlterTableWithAddColumn()
是否支持具有添加列功能的 "ALTER TABLE"?
supportsAlterTableWithDropColumn()
是否支持具有被删除列功能的 "ALTER TABLE"?
supportsANSI92EntryLevelSQL()
是否支持 ANSI92 入口级 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。
supportsANSI92FullSQL()
是否支持 ANSI92 完全级 SQL 语法检查?
supportsANSI92IntermediateSQL()
是否支持 ANSI92 中间级 SQL 语法检查?
supportsCatalogsInDataManipulation()
分类表名是否可以用于数据操作语句中?
supportsCatalogsInIndexDefinitions()
分类表名是否可以用于索引定义语句中?
supportsCatalogsInPrivilegeDefinitions()
分类表名是否可以用于特权定义语句中?
supportsCatalogsInProcedureCalls()
分类表名是否可以用于过程调用语句中?
supportsCatalogsInTableDefinitions()
分类表名是否可以用于表定义语句中?
supportsColumnAliasing()
是否支持列的别名设置?

如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。

supportsConvert()
是否支持 SQL 类型之间的 CONVERT 功能?
supportsConvert(int, int)
是否支持给定的 SQL 类型之间的 CONVERT?
supportsCoreSQLGrammar()
是否支持 ODBC 核心 SQL 语法检查?
supportsCorrelatedSubqueries()
是否支持相关的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsDataDefinitionAndDataManipulationTransactions()
在一个事务中是否同时支持数据定义和数据操作语句?
supportsDataManipulationTransactionsOnly()
在一个事务中是否只支持数据操作语句?
supportsDifferentTableCorrelationNames()
是否支持表的相关名,是否限制它们与其表名不同?
supportsExpressionsInOrderBy()
是否支持 "ORDER BY" 列表中的表达式?
supportsExtendedSQLGrammar()
是否支持 ODBC 扩展的 SQL 语法检查?
supportsFullOuterJoins()
是否支持全嵌套的外部连接?
supportsGroupBy()
是否支持某些格式的 "GROUP BY" 子句?
supportsGroupByBeyondSelect()
假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加在 SELECT 中出现的列?
supportsGroupByUnrelated()
一个 "GROUP BY" 子句是否不能在 SELECT 中使用列?
supportsIntegrityEnhancementFacility()
是否支持 SQL 完整性增强工具?
supportsLikeEscapeClause()
是否支持 "LIKE" 子句中的转义字符? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsLimitedOuterJoins()
对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为 true 则该条件成立 )。
supportsMinimumSQLGrammar()
是否支持 ODBC 最小 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。
supportsMixedCaseIdentifiers()
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 false。
supportsMixedCaseQuotedIdentifiers()
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 true。
supportsMultipleResultSets()
是否支持单个执行返回多 ResultSet?
supportsMultipleTransactions()
是否可以同时打开多个事务 ( 在不同的连接上 )?
supportsNonNullableColumns()
是否可以定义列不能为 null? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsOpenCursorsAcrossCommit()
提交时游标是否能够保持开放?
supportsOpenCursorsAcrossRollback()
回滚时游标是否能够保持开放?
supportsOpenStatementsAcrossCommit()
提交时语句是否能够保持开放?
supportsOpenStatementsAcrossRollback()
回滚时语句是否能够保持开放?
supportsOrderByUnrelated()
一个 "ORDER BY" 子句是否能使用不在 SELECT 中出现的列?
supportsOuterJoins()
是否支持某些格式的外部连接?
supportsPositionedDelete()
是否支持定位的 DELETE?
supportsPositionedUpdate()
是否支持定位的 UPDATE?
supportsSchemasInDataManipulation()
模式名是否可以用于数据操作语句中?
supportsSchemasInIndexDefinitions()
模式名是否可以用于索引定义语句中?
supportsSchemasInPrivilegeDefinitions()
模式名是否可以用于特权定义语句中?
supportsSchemasInProcedureCalls()
模式名是否可以用于过程调用中?
supportsSchemasInTableDefinitions()
模式名是否可以用于表定义语句中?
supportsSelectForUpdate()
是否支持对 UPDATE 的 SELECT?
supportsStoredProcedures()
是否支持使用存储过程转义语法的存储过程调用?
supportsSubqueriesInComparisons()
是否支持比较表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsSubqueriesInExists()
是否支持 'exists' 表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsSubqueriesInIns()
是否支持 'in' 语句中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsSubqueriesInQuantifieds()
是否支持合法的表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsTableCorrelationNames()
是否支持表的相关名? 一个遵守 JDBC 的驱动程序总是返回 true。
supportsTransactionIsolationLevel(int)
该数据库是否支持给定的事务隔离级别?
supportsTransactions()
是否支持事务? 如果不支持,则提交的是一个空操作,且隔离级别为 TRANSACTION_NONE。
supportsUnion()
是否支持 SQL UNION?
supportsUnionAll()
是否支持 SQL UNION ALL?
usesLocalFilePerTable()
数据库是否为每个表使用一个文件?
usesLocalFiles()
数据库是否把表存储在本地文件中?

变量

procedureResultUnknown
 public static final int procedureResultUnknown
PROCEDURE_TYPE - 可能返回一个结果。

procedureNoResult
 public static final int procedureNoResult
PROCEDURE_TYPE - 不返回结果。

procedureReturnsResult
 public static final int procedureReturnsResult
PROCEDURE_TYPE - 返回结果。

procedureColumnUnknown
 public static final int procedureColumnUnknown
COLUMN_TYPE - 未知值。

procedureColumnIn
 public static final int procedureColumnIn
COLUMN_TYPE - IN 参数。

procedureColumnInOut
 public static final int procedureColumnInOut
COLUMN_TYPE - INOUT 参数。

procedureColumnOut
 public static final int procedureColumnOut
COLUMN_TYPE - OUT 参数。

procedureColumnReturn
 public static final int procedureColumnReturn
COLUMN_TYPE - 过程返回值。

procedureColumnResult
 public static final int procedureColumnResult
COLUMN_TYPE - ResultSet 中的结果列。

procedureNoNulls
 public static final int procedureNoNulls
TYPE NULLABLE - 不允许 NULL 值。

procedureNullable
 public static final int procedureNullable
TYPE NULLABLE - 允许 NULL 值。

procedureNullableUnknown
 public static final int procedureNullableUnknown
TYPE NULLABLE - 不知道是否允许 NULL 值。

columnNoNulls
 public static final int columnNoNulls
COLUMN NULLABLE - 可能不允许 NULL 值。

columnNullable
 public static final int columnNullable
COLUMN NULLABLE - 明确的允许 NULL 值。

columnNullableUnknown
 public static final int columnNullableUnknown
COLUMN NULLABLE - 不知道是否允许 NULL 值。

bestRowTemporary
 public static final int bestRowTemporary
BEST ROW SCOPE - 当使用行时,是暂时的。

bestRowTransaction
 public static final int bestRowTransaction
BEST ROW SCOPE - 对于当前事务的剩余行有效。

bestRowSession
 public static final int bestRowSession
BEST ROW SCOPE - 对于当前会话的剩余行有效。

bestRowUnknown
 public static final int bestRowUnknown
BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。

bestRowNotPseudo
 public static final int bestRowNotPseudo
BEST ROW PSEUDO_COLUMN - 不是一个伪列。

bestRowPseudo
 public static final int bestRowPseudo
BEST ROW PSEUDO_COLUMN - 是一个伪列。

versionColumnUnknown
 public static final int versionColumnUnknown
VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。

versionColumnNotPseudo
 public static final int versionColumnNotPseudo
VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。

versionColumnPseudo
 public static final int versionColumnPseudo
VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。

importedKeyCascade
 public static final int importedKeyCascade
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入一个已删除关键字的行。

importedKeyRestrict
 public static final int importedKeyRestrict
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。

importedKeySetNull
 public static final int importedKeySetNull
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。

importedKeyNoAction
 public static final int importedKeyNoAction
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。

importedKeySetDefault
 public static final int importedKeySetDefault
IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。

importedKeyInitiallyDeferred
 public static final int importedKeyInitiallyDeferred
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。

importedKeyInitiallyImmediate
 public static final int importedKeyInitiallyImmediate
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。

importedKeyNotDeferrable
 public static final int importedKeyNotDeferrable
IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。

typeNoNulls
 public static final int typeNoNulls
TYPE NULLABLE - 不允许 NULL 值。

typeNullable
 public static final int typeNullable
TYPE NULLABLE - 允许 NULL 值。

typeNullableUnknown
 public static final int typeNullableUnknown
TYPE NULLABLE - 不知道是否允许 NULL 值。

typePredNone
 public static final int typePredNone
TYPE INFO SEARCHABLE - 没有支持。

typePredChar
 public static final int typePredChar
TYPE INFO SEARCHABLE - 只支持 WHERE 。 LIKE。

typePredBasic
 public static final int typePredBasic
TYPE INFO SEARCHABLE - 除 WHERE 以外的都支持。 LIKE。

typeSearchable
 public static final int typeSearchable
TYPE INFO SEARCHABLE - 所有的 WHERE 都支持。

tableIndexStatistic
 public static final short tableIndexStatistic
INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。

tableIndexClustered
 public static final short tableIndexClustered
INDEX INFO TYPE - 它定义了一个分簇的索引。

tableIndexHashed
 public static final short tableIndexHashed
INDEX INFO TYPE - 它定义了一个散列的索引。

tableIndexOther
 public static final short tableIndexOther
INDEX INFO TYPE - 它定义了其它导引形式的索引。


方法

allProceduresAreCallable
 public abstract boolean allProceduresAreCallable() throws SQLException
当前用户是否可以调用所有由 getProcedures 返回的过程?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
allTablesAreSelectable
 public abstract boolean allTablesAreSelectable() throws SQLException
当前用户是否可以 SELECT 所有由 getTable 返回的表?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getURL
 public abstract String getURL() throws SQLException
获得该数据库的 url。

返回值:
生成的 url,如果不能生成则为 null
抛出: SQLException
如果发生了数据访问错误。
getUserName
 public abstract String getUserName() throws SQLException
获得数据库知道的用户名。

返回值:
数据库的用户名
抛出: SQLException
如果发生了数据访问错误。
isReadOnly
 public abstract boolean isReadOnly() throws SQLException
数据库是否在只读模式?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
nullsAreSortedHigh
 public abstract boolean nullsAreSortedHigh() throws SQLException
NULL 值是否被排在高端?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
nullsAreSortedLow
 public abstract boolean nullsAreSortedLow() throws SQLException
NULL 值是否被排在低端?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
nullsAreSortedAtStart
 public abstract boolean nullsAreSortedAtStart() throws SQLException
无论排序次序如何,NULL 值是总否排在开始?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
nullsAreSortedAtEnd
 public abstract boolean nullsAreSortedAtEnd() throws SQLException
无论排序次序如何,NULL 值是否总排在末尾?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getDatabaseProductName
 public abstract String getDatabaseProductName() throws SQLException
获得该数据库产品的名称。

返回值:
数据库产品名称
抛出: SQLException
如果发生了数据访问错误。
getDatabaseProductVersion
 public abstract String getDatabaseProductVersion() throws SQLException
获得该数据库产品的版本。

返回值:
数据库版本
抛出: SQLException
如果发生了数据访问错误。
getDriverName
 public abstract String getDriverName() throws SQLException
获得该 JDBC 驱动程序的名称。

返回值:
JDBC 驱动程序名
抛出: SQLException
如果发生了数据访问错误。
getDriverVersion
 public abstract String getDriverVersion() throws SQLException
获得该 JDBC 驱动程序的版本。

返回值:
JDBC 驱动程序版本
抛出: SQLException
如果发生了数据访问错误。
getDriverMajorVersion
 public abstract int getDriverMajorVersion()
获得该 JDBC 驱动程序的主版本号。

返回值:
JDBC 驱动程序主版本号
getDriverMinorVersion
 public abstract int getDriverMinorVersion()
获得该 JDBC 驱动程序的次版本号。

返回值:
JDBC 驱动程序的次版本号
usesLocalFiles
 public abstract boolean usesLocalFiles() throws SQLException
数据库是否把表存储在本地文件中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
usesLocalFilePerTable
 public abstract boolean usesLocalFilePerTable() throws SQLException
数据库是否为每个表使用一个文件?

返回值:
如果数据库为每个表使用一个本地文件则为 true。
抛出: SQLException
如果发生了数据访问错误。
supportsMixedCaseIdentifiers
 public abstract boolean supportsMixedCaseIdentifiers() throws SQLException
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 false。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesUpperCaseIdentifiers
 public abstract boolean storesUpperCaseIdentifiers() throws SQLException
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesLowerCaseIdentifiers
 public abstract boolean storesLowerCaseIdentifiers() throws SQLException
该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesMixedCaseIdentifiers
 public abstract boolean storesMixedCaseIdentifiers() throws SQLException
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsMixedCaseQuotedIdentifiers
 public abstract boolean supportsMixedCaseQuotedIdentifiers() throws SQLException
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesUpperCaseQuotedIdentifiers
 public abstract boolean storesUpperCaseQuotedIdentifiers() throws SQLException
该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesLowerCaseQuotedIdentifiers
 public abstract boolean storesLowerCaseQuotedIdentifiers() throws SQLException
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
storesMixedCaseQuotedIdentifiers
 public abstract boolean storesMixedCaseQuotedIdentifiers() throws SQLException
该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getIdentifierQuoteString
 public abstract String getIdentifierQuoteString() throws SQLException
获得用于引起 SQL 标识符的引号字符串。如果不支持引起标识符,它将返回一个空格 " "。 一个遵守 JDBC 的驱动程序总是使用双引号字符。

返回值:
加引号的字符串
抛出: SQLException
如果发生了数据访问错误。
getSQLKeywords
 public abstract String getSQLKeywords() throws SQLException
获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是 SQL92 关键字。

返回值:
该列表
抛出: SQLException
如果发生了数据访问错误。
getNumericFunctions
 public abstract String getNumericFunctions() throws SQLException
获得一个用逗号隔开的数学函数列表。

返回值:
该列表
抛出: SQLException
如果发生了数据访问错误。
getStringFunctions
 public abstract String getStringFunctions() throws SQLException
获得一个用逗号隔开的字符串函数列表。

返回值:
该列表
抛出: SQLException
如果发生了数据访问错误。
getSystemFunctions
 public abstract String getSystemFunctions() throws SQLException
获得一个用逗号隔开的系统功能列表。

返回值:
该列表
抛出: SQLException
如果发生了数据访问错误。
getTimeDateFunctions
 public abstract String getTimeDateFunctions() throws SQLException
获得一个用逗号隔开的时间日期函数列表。

返回值:
该列表
抛出: SQLException
如果发生了数据访问错误。
getSearchStringEscape
 public abstract String getSearchStringEscape() throws SQLException
获得在字符串模式风格的分类表搜索参数中用于改变 '_' 或 '%' 含义的转义字符串。

'_' 字符表示任何单个的字符。

'%' 字符表示任何包含零个或多个字符的序列。

返回值:
用于转换通配符含义的字符串
抛出: SQLException
如果发生了数据访问错误。
getExtraNameCharacters
 public abstract String getExtraNameCharacters() throws SQLException
获得所有“附加的”字符,它们可用于未被引起的标识符名称中 ( 在 a-z、A-Z、0-9 范围之外的字符和 _)。

1Returns:
包含附加字符的字符串
抛出: SQLException
如果发生了数据访问错误。
supportsAlterTableWithAddColumn
 public abstract boolean supportsAlterTableWithAddColumn() throws SQLException
是否支持具有被添加列功能的 "ALTER TABLE"?

1Returns:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsAlterTableWithDropColumn
 public abstract boolean supportsAlterTableWithDropColumn() throws SQLException
是否支持具有被删除列功能的 "ALTER TABLE"?

1Returns:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsColumnAliasing
 public abstract boolean supportsColumnAliasing() throws SQLException
是否支持列的别名设置?

如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
nullPlusNonNullIsNull
 public abstract boolean nullPlusNonNullIsNull() throws SQLException
将 NULL 和非 NULL 值进行拼接是否为 NULL? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsConvert
 public abstract boolean supportsConvert() throws SQLException
是否支持 SQL 类型之间的 CONVERT 功能?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsConvert
 public abstract boolean supportsConvert(int fromType,
                                         int toType) throws SQLException
是否支持给定的 SQL 类型之间的 CONVERT?

参数:
fromType - 被转换的类型
toType - 转换成该类型
返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
参见:
Types
supportsTableCorrelationNames
 public abstract boolean supportsTableCorrelationNames() throws SQLException
是否支持表的相关名? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsDifferentTableCorrelationNames
 public abstract boolean supportsDifferentTableCorrelationNames() throws SQLException
是否支持表的相关名,是否限制它们与其表名不同?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsExpressionsInOrderBy
 public abstract boolean supportsExpressionsInOrderBy() throws SQLException
是否支持 "ORDER BY" 列表中的表达式?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsOrderByUnrelated
 public abstract boolean supportsOrderByUnrelated() throws SQLException
一个 "ORDER BY" 子句是否能使用在 SELECT 中出现的列?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsGroupBy
 public abstract boolean supportsGroupBy() throws SQLException
是否支持某些格式的 "GROUP BY" 子句?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsGroupByUnrelated
 public abstract boolean supportsGroupByUnrelated() throws SQLException
一个 "GROUP BY" 子句是否能使用在 SELECT 中出现的列?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsGroupByBeyondSelect
 public abstract boolean supportsGroupByBeyondSelect() throws SQLException
假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加未在 SELECT 中出现的列?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsLikeEscapeClause
 public abstract boolean supportsLikeEscapeClause() throws SQLException
是否支持 "LIKE" 子句中的转义字符? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsMultipleResultSets
 public abstract boolean supportsMultipleResultSets() throws SQLException
是否支持单个执行返回多个 ResultSet?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsMultipleTransactions
 public abstract boolean supportsMultipleTransactions() throws SQLException
是否可以同时打开多个事务 ( 在不同的连接上 )?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsNonNullableColumns
 public abstract boolean supportsNonNullableColumns() throws SQLException
是否可以定义列不能为 null? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsMinimumSQLGrammar
 public abstract boolean supportsMinimumSQLGrammar() throws SQLException
是否支持 ODBC 最小 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCoreSQLGrammar
 public abstract boolean supportsCoreSQLGrammar() throws SQLException
是否支持 ODBC 核心 SQL 语法检查?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsExtendedSQLGrammar
 public abstract boolean supportsExtendedSQLGrammar() throws SQLException
是否支持 ODBC 扩展的 SQL 语法检查?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsANSI92EntryLevelSQL
 public abstract boolean supportsANSI92EntryLevelSQL() throws SQLException
是否支持 ANSI92 入口级 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsANSI92IntermediateSQL
 public abstract boolean supportsANSI92IntermediateSQL() throws SQLException
是否支持 ANSI92 中间级 SQL 语法检查?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsANSI92FullSQL
 public abstract boolean supportsANSI92FullSQL() throws SQLException
是否支持 ANSI92 完全级 SQL 语法检查?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsIntegrityEnhancementFacility
 public abstract boolean supportsIntegrityEnhancementFacility() throws SQLException
是否支持 SQL 完整性增强工具?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsOuterJoins
 public abstract boolean supportsOuterJoins() throws SQLException
是否支持某些格式的外部连接?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsFullOuterJoins
 public abstract boolean supportsFullOuterJoins() throws SQLException
是否支持全嵌套的外部连接?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsLimitedOuterJoins
 public abstract boolean supportsLimitedOuterJoins() throws SQLException
对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为 true 则该条件成立 )。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getSchemaTerm
 public abstract String getSchemaTerm() throws SQLException
获得数据库供应商的“模式”的首选项。

返回值:
供应商的首选项
抛出: SQLException
如果发生了数据访问错误。
getProcedureTerm
 public abstract String getProcedureTerm() throws SQLException
获得数据库供应商的“过程”的首选项。

返回值:
供应商的首选项
抛出: SQLException
如果发生了数据访问错误。
getCatalogTerm
 public abstract String getCatalogTerm() throws SQLException
获得数据库供应商的“分类表”的首选项。

返回值:
供应商的首选项
抛出: SQLException
如果发生了数据访问错误。
isCatalogAtStart
 public abstract boolean isCatalogAtStart() throws SQLException
一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )

返回值:
如果它出现在开始则为 true。
抛出: SQLException
如果发生了数据访问错误。
getCatalogSeparator
 public abstract String getCatalogSeparator() throws SQLException
获得分类表名和表名之间的分隔符。

返回值:
分隔符字符串
抛出: SQLException
如果发生了数据访问错误。
supportsSchemasInDataManipulation
 public abstract boolean supportsSchemasInDataManipulation() throws SQLException
模式名是否可以用于数据操作语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSchemasInProcedureCalls
 public abstract boolean supportsSchemasInProcedureCalls() throws SQLException
模式名是否可以用于过程调用中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSchemasInTableDefinitions
 public abstract boolean supportsSchemasInTableDefinitions() throws SQLException
模式名是否可以用于表定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSchemasInIndexDefinitions
 public abstract boolean supportsSchemasInIndexDefinitions() throws SQLException
模式名是否可以用于索引定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSchemasInPrivilegeDefinitions
 public abstract boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
模式名是否可以用于特权定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCatalogsInDataManipulation
 public abstract boolean supportsCatalogsInDataManipulation() throws SQLException
分类表名是否可以用于数据操作语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCatalogsInProcedureCalls
 public abstract boolean supportsCatalogsInProcedureCalls() throws SQLException
分类表名是否可以用于过程调用语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCatalogsInTableDefinitions
 public abstract boolean supportsCatalogsInTableDefinitions() throws SQLException
分类表名是否可以用于表定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCatalogsInIndexDefinitions
 public abstract boolean supportsCatalogsInIndexDefinitions() throws SQLException
分类表名是否可以用于索引定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCatalogsInPrivilegeDefinitions
 public abstract boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
分类表名是否可以用于特权定义语句中?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsPositionedDelete
 public abstract boolean supportsPositionedDelete() throws SQLException
是否支持定位的 DELETE?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsPositionedUpdate
 public abstract boolean supportsPositionedUpdate() throws SQLException
是否支持定位的 UPDATE?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSelectForUpdate
 public abstract boolean supportsSelectForUpdate() throws SQLException
是否支持对 UPDATE 的 SELECT?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsStoredProcedures
 public abstract boolean supportsStoredProcedures() throws SQLException
是否支持使用存储过程转义语法的存储过程调用?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSubqueriesInComparisons
 public abstract boolean supportsSubqueriesInComparisons() throws SQLException
是否支持比较表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSubqueriesInExists
 public abstract boolean supportsSubqueriesInExists() throws SQLException
是否支持 'exists' 表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSubqueriesInIns
 public abstract boolean supportsSubqueriesInIns() throws SQLException
是否支持 'in' 语句中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsSubqueriesInQuantifieds
 public abstract boolean supportsSubqueriesInQuantifieds() throws SQLException
是否支持合法的表达式中的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsCorrelatedSubqueries
 public abstract boolean supportsCorrelatedSubqueries() throws SQLException
是否支持相关的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsUnion
 public abstract boolean supportsUnion() throws SQLException
是否支持 SQL UNION?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsUnionAll
 public abstract boolean supportsUnionAll() throws SQLException
是否支持 SQL UNION ALL?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsOpenCursorsAcrossCommit
 public abstract boolean supportsOpenCursorsAcrossCommit() throws SQLException
提交时游标是否能够保持开放?

返回值:
如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
抛出: SQLException
如果发生了数据访问错误。
supportsOpenCursorsAcrossRollback
 public abstract boolean supportsOpenCursorsAcrossRollback() throws SQLException
回滚时游标是否能够保持开放?

返回值:
如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
抛出: SQLException
如果发生了数据访问错误。
supportsOpenStatementsAcrossCommit
 public abstract boolean supportsOpenStatementsAcrossCommit() throws SQLException
提交时语句是否能够保持开放?

返回值:
如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
抛出: SQLException
如果发生了数据访问错误。
supportsOpenStatementsAcrossRollback
 public abstract boolean supportsOpenStatementsAcrossRollback() throws SQLException
回滚时语句是否能够保持开放?

返回值:
如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
抛出: SQLException
如果发生了数据访问错误。
getMaxBinaryLiteralLength
 public abstract int getMaxBinaryLiteralLength() throws SQLException
获得嵌入的二进制文字中允许的十六进制字符的最大数目。

返回值:
最大的文字长度
抛出: SQLException
如果发生了数据访问错误。
getMaxCharLiteralLength
 public abstract int getMaxCharLiteralLength() throws SQLException
获得一个二进制文字的最大长度。

返回值:
最大的文字长度
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnNameLength
 public abstract int getMaxColumnNameLength() throws SQLException
获得对列名的长度的限制。

返回值:
最大的文字长度
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnsInGroupBy
 public abstract int getMaxColumnsInGroupBy() throws SQLException
获得在一个 "GROUP BY" 子句中最大的列数。

返回值:
最大的列数
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnsInIndex
 public abstract int getMaxColumnsInIndex() throws SQLException
获得一个索引中允许最大的列数。

返回值:
最大的列数
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnsInOrderBy
 public abstract int getMaxColumnsInOrderBy() throws SQLException
获得在一个 "ORDER BY" 子句中最大的列数。

返回值:
最大的列数
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnsInSelect
 public abstract int getMaxColumnsInSelect() throws SQLException
获得在一个 "SELECT" 列表中最大的列数。

返回值:
最大的列数
抛出: SQLException
如果发生了数据访问错误。
getMaxColumnsInTable
 public abstract int getMaxColumnsInTable() throws SQLException
获得一个表中最大的列数。

返回值:
最大的列数
抛出: SQLException
如果发生了数据访问错误。
getMaxConnections
 public abstract int getMaxConnections() throws SQLException
获得同时与该数据库连接的有效连接的最大数目。

返回值:
最大的连接数
抛出: SQLException
如果发生了数据访问错误。
getMaxCursorNameLength
 public abstract int getMaxCursorNameLength() throws SQLException
获得游标名的最大长度。

返回值:
游标名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxIndexLength
 public abstract int getMaxIndexLength() throws SQLException
获得一个索引的最大长度 ( 以字节计 )。

返回值:
索引的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxSchemaNameLength
 public abstract int getMaxSchemaNameLength() throws SQLException
获得对一个模式名允许的最大长度。

返回值:
模式名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxProcedureNameLength
 public abstract int getMaxProcedureNameLength() throws SQLException
获得过程名的最大长度。

返回值:
过程名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxCatalogNameLength
 public abstract int getMaxCatalogNameLength() throws SQLException
获得分类表名的最大长度。

返回值:
分类表名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxRowSize
 public abstract int getMaxRowSize() throws SQLException
获得单个行的最大长度。

返回值:
行的最大字节数
抛出: SQLException
如果发生了数据访问错误。
doesMaxRowSizeIncludeBlobs
 public abstract boolean doesMaxRowSizeIncludeBlobs() throws SQLException
getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getMaxStatementLength
 public abstract int getMaxStatementLength() throws SQLException
获得 SQL 语句的最大长度。

返回值:
最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxStatements
 public abstract int getMaxStatements() throws SQLException
获得同时对该数据库有效的语句的数目。

返回值:
最大数目
抛出: SQLException
如果发生了数据访问错误。
getMaxTableNameLength
 public abstract int getMaxTableNameLength() throws SQLException
获得表名的最大长度。

返回值:
表名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getMaxTablesInSelect
 public abstract int getMaxTablesInSelect() throws SQLException
获得一个 SELECT 中表的最大数目。

返回值:
最大数目
抛出: SQLException
如果发生了数据访问错误。
getMaxUserNameLength
 public abstract int getMaxUserNameLength() throws SQLException
获得用户名的最大长度。

返回值:
用户名的最大字节长度
抛出: SQLException
如果发生了数据访问错误。
getDefaultTransactionIsolation
 public abstract int getDefaultTransactionIsolation() throws SQLException
获得数据库缺省的事务隔离级别。 数值定义在 java.sql.Connection 中。

返回值:
缺省的隔离级别
抛出: SQLException
如果发生了数据访问错误。
参见:
Connection
supportsTransactions
 public abstract boolean supportsTransactions() throws SQLException
是否支持事务。如果不支持,则提交的是一个空操作,且隔离级别为 TRANSACTION_NONE。

返回值:
如果支持事务则为 true。
抛出: SQLException
如果发生了数据访问错误。
supportsTransactionIsolationLevel
 public abstract boolean supportsTransactionIsolationLevel(int level) throws SQLException
该数据库是否支持给定的事务隔离级别?

参数:
level - 数值定义在 java.sql.Connection 中。
返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
参见:
Connection
supportsDataDefinitionAndDataManipulationTransactions
 public abstract boolean supportsDataDefinitionAndDataManipulationTransactions() throws SQLException
在一个事务中是否同时支持数据定义和数据操作语句?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
supportsDataManipulationTransactionsOnly
 public abstract boolean supportsDataManipulationTransactionsOnly() throws SQLException
在一个事务中是否只支持数据操作语句?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
dataDefinitionCausesTransactionCommit
 public abstract boolean dataDefinitionCausesTransactionCommit() throws SQLException
一个事务中的数据定义语句是否强迫事务提交?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
dataDefinitionIgnoredInTransactions
 public abstract boolean dataDefinitionIgnoredInTransactions() throws SQLException
一个事务中的数据定义语句是否被忽略?

返回值:
果真如此则为 true
抛出: SQLException
如果发生了数据访问错误。
getProcedures
 public abstract ResultSet getProcedures(String catalog,
                                         String schemaPattern,
                                         String procedureNamePattern) throws SQLException
获得关于可用于一个分类表中的存储过程的说明。

只返回与模式和过程名匹配标准相匹配的过程说明。它们以 PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排序。

每个过程说明具有以下的列:

  1. PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
  2. PROCEDURE_SCHEM String => 过程模式( 可以为 null)
  3. PROCEDURE_NAME String => 过程名
  4. 保留作将来使用
  5. 保留作将来使用
  6. 保留作将来使用
  7. REMARKS String => 关于过程的解释性注释
  8. PROCEDURE_TYPE short => 过程的种类:
    • procedureResultUnknown - 可能返回一个结果
    • procedureNoResult - 不返回结果
    • procedureReturnsResult - 返回结果

参数:
catalog - 一个分类表名;"" 检索没有分类表的存储过程说明; null 意味着从选择标准中删除分类表名
schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
procedureNamePattern - 过程名模本
返回值:
ResultSet - 每一行是一个过程说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getProcedureColumns
 public abstract ResultSet getProcedureColumns(String catalog,
                                               String schemaPattern,
                                               String procedureNamePattern,
                                               String columnNamePattern) throws SQLException
获得关于一个分类表的存储过程参数和结果列的说明。

只返回与模式和过程名和参数名匹配标准相匹配的说明。它们以 PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排列。 在这其中,如果有返回值那么它是第一位的。下面是调用顺序中的参数说明。列说明的顺序与列号相同。

ResultSet 中的每一行是一个参数说明或列列说明,它具有以下的域:

  1. PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
  2. PROCEDURE_SCHEM String => 过程模式( 可以为 null)
  3. PROCEDURE_NAME String => 过程名
  4. COLUMN_NAME String => 列 / 参数名
  5. COLUMN_TYPE Short => 列 / 参数的种类:
    • procedureColumnUnknown - 未知值
    • procedureColumnIn - IN 参数
    • procedureColumnInOut - INOUT 参数
    • procedureColumnOut - OUT 参数
    • procedureColumnReturn - 过程返回值
    • procedureColumnResult - ResultSet 中的结果列
  6. DATA_TYPE short => java.sql.Types 中的 SQL 类型
  7. TYPE_NAME String => SQL 类型名
  8. PRECISION int => 精度
  9. LENGTH int => 数据的字节长度
  10. SCALE short => 小数位数
  11. RADIX short => 基数
  12. NULLABLE short => 它是否可以包含 NULL?
    • procedureNoNulls - 不允许 NULL 值
    • procedureNullable - 允许 NULL 值
    • procedureNullableUnknown - 不知是否允许 NULL。
  13. REMARKS String => 说明参数 / 列的注释

注意: 有些数据库不为过程返回列的说明。未在 REMARKS 中的附加列可以由该数据库定义。

参数:
catalog - 一个分类表名;"" 检索没有分类表的存储过程说明; null 意味着从选择标准中删除分类表名
schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
procedureNamePattern - 过程名模本
columnNamePattern - 一个列名模本
返回值:
ResultSet - 每一行是一个存储过程参数或列的说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getTables
 public abstract ResultSet getTables(String catalog,
                                     String schemaPattern,
                                     String tableNamePattern,
                                     String types[]) throws SQLException
获得可用于一个分类表中的表的说明。

只返回与分类表、模式、表的名称和类型的匹配标准相匹配的表说明。它们以 TABLE_TYPE、TABLE_SCHEM 和 TABLE_NAME 顺序排列。

每个表说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表模式( 可以为 null)
  3. TABLE_NAME String => 表名
  4. TABLE_TYPE String => 类型的类型。典型的类型是"TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM"。
  5. REMARKS String => 关于表的解释性注释

注意: 有些数据库不为所有的表返回信息。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schemaPattern - 模式名模本;"" 检索那些没有模式的
tableNamePattern - 一个表名模本
types - 一个要包括的表类型列表;如果为 null 则返回所有的类型
返回值:
ResultSet - 每一行是一个列说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getSchemas
 public abstract ResultSet getSchemas() throws SQLException
获得可用于该数据库中的模式名。结果按模式名排序。

模式列是:

  1. TABLE_SCHEM String => 模式名

返回值:
ResultSet - 每一行有单个的 String 列,它是一个模式名。
抛出: SQLException
如果发生了数据访问错误。
getCatalogs
 public abstract ResultSet getCatalogs() throws SQLException
获得可用于该数据库中的分类表名。结果按分类表名排序。

分类表列是:

  1. TABLE_CAT String => 分类表名

返回值:
ResultSet - 每一行有单个的 String 列,它是一个分类表名。
抛出: SQLException
如果发生了数据访问错误。
getTableTypes
 public abstract ResultSet getTableTypes() throws SQLException
获得可用于该数据库中的表的类型。 结果按表的类型排序。

表的类型是:

  1. TABLE_TYPE String => 表的类型。典型的类型是"TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM"。

返回值:
ResultSet - 每一行有单个的 String 列,它是一个表类型。
抛出: SQLException
如果发生了数据访问错误。
getColumns
 public abstract ResultSet getColumns(String catalog,
                                      String schemaPattern,
                                      String tableNamePattern,
                                      String columnNamePattern) throws SQLException
获得可用于一个分类表中的对表列的说明。

只返回与分类表、模式、表和列名匹配标准相匹配的列的说明。 它们以 TABLE_SCHEM 、TABLE_NAME 和 ORDINAL_POSITION 排列。

每个列说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表模式( 可以为 null)
  3. TABLE_NAME String => 表名
  4. COLUMN_NAME String => 列名
  5. DATA_TYPE short => java.sql.Types 中的 SQL 类型
  6. TYPE_NAME String => 数据源从属类型名
  7. COLUMN_SIZE int => 列的大小。对于字符或日期类型,它是最大字符数,对于数值或小数类型它是精度。
  8. BUFFER_LENGTH 未使用。
  9. DECIMAL_DIGITS int => 小数的位数
  10. NUM_PREC_RADIX int => 基数 ( 典型的是 10 或 2)
  11. NULLABLE int => 是否允许 NULL 值?
    • columnNoNulls - 可能不允许 NULL 值
    • columnNullable - 明确的允许 NULL 值
    • columnNullableUnknown - 不知是否允许 NULL 值
  12. REMARKS String => 描述列的注释 ( 可能为 null)
  13. COLUMN_DEF String => 缺省值 ( 可能为 null)
  14. SQL_DATA_TYPE int => 未使用
  15. SQL_DATETIME_SUB int => 未使用
  16. CHAR_OCTET_LENGTH int => 对于字符类型,它是列中的最大字符数
  17. ORDINAL_POSITION int => 表中的列索引 ( 从 1 开始 )
  18. IS_NULLABLE String => "NO" 意味着列确实不允许 NULL 值; "YES" 意味列可能允许 NULL 值。一个空字符串意味着是否允许 NULL 值未知。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schemaPattern - 模式名模本;"" 检索那些没有模式的
tableNamePattern - 一个表名模本
columnNamePattern - 一个列名模本
返回值:
ResultSet - 每一行是一个列说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getColumnPrivileges
 public abstract ResultSet getColumnPrivileges(String catalog,
                                               String schema,
                                               String table,
                                               String columnNamePattern) throws SQLException
获得对表的某一列的访问权的说明。

只返回与列名匹配标准相匹配的特权。它们以 COLUMN_NAME 和 PRIVILEGE 顺序排列。

每个特权说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表模式( 可以为 null)
  3. TABLE_NAME String => 表名
  4. COLUMN_NAME String => 列名
  5. GRANTOR => 访问权的授予者 ( 可能为 null)
  6. GRANTEE String => 访问权的接受者
  7. PRIVILEGE String => 访问权的名称 (SELECT, INSERT, UPDATE, REFRENCES, ...)
  8. IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为 "YES";如果不允许则为 "NO";如果不知道则为 null。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
columnNamePattern - 一个列名模本
返回值:
ResultSet - 每一行是一个特权说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getTablePrivileges
 public abstract ResultSet getTablePrivileges(String catalog,
                                              String schemaPattern,
                                              String tableNamePattern) throws SQLException
获得对可用于分类表中的表的访问权的说明。 注意表的特权可以应用到表的一个或多个列上。假设该特权可以应用到所有的列上是错误的 ( 这在某些系统中可能是正确的,但并不是在所有的系统中都正确。)

只返回与模式和表名匹配标准相匹配的特权。它们按 TABLE_SCHEM、TABLE_NAME 和 PRIVILEGE 顺序排列。

每个特权说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
  3. TABLE_NAME String => 表名
  4. GRANTOR => 访问权的授予者 ( 可能为 null)
  5. GRANTEE String => 访问权的接受者
  6. PRIVILEGE String =>访问权的名称 (SELECT, INSERT, UPDATE, REFRENCES, ...)
  7. IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为 "YES";如果不允许则为 "NO";如果不知道则为 null。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schemaPattern - 模式名模本;"" 检索那些没有模式的
tableNamePattern - 一个表名模本
返回值:
ResultSet - 每一行是一个表特权说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getSearchStringEscape
getBestRowIdentifier
 public abstract ResultSet getBestRowIdentifier(String catalog,
                                                String schema,
                                                String table,
                                                int scope,
                                                boolean nullable) throws SQLException
获得一个表中能唯一标识一行的最优的列的集合的说明。它们按 SCOPE 排序。

每个列说明具有以下的列:

  1. SCOPE short => 结果实际的作用域
    • bestRowTemporary - 当使用行时是暂时的
    • bestRowTransaction - 对于当前事务的剩余行是有效的
    • bestRowSession - 对于当前会话的剩余行有效。
  2. COLUMN_NAME String => 列名
  3. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
  4. TYPE_NAME String => 数据源从属类型名
  5. COLUMN_SIZE int => 精度
  6. BUFFER_LENGTH int => 未使用
  7. DECIMAL_DIGITS short => 小数位数
  8. PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
    • bestRowUnknown - 可能是或不是伪列。
    • bestRowNotPseudo - 不是一个伪列。
    • bestRowPseudo - 是一个伪列。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
scope - 内部的作用域;使用同样的值 SCOPE
nullable - 包括可以为 null 的列
返回值:
ResultSet - 每一行是一个列说明
抛出: SQLException
如果发生了数据访问错误。
getVersionColumns
 public abstract ResultSet getVersionColumns(String catalog,
                                             String schema,
                                             String table) throws SQLException
获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。 它们是未排序的。

每个列说明具有以下的列:

  1. SCOPE short => 未使用
  2. COLUMN_NAME String => 列名
  3. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
  4. TYPE_NAME String => 数据源从属类型名
  5. COLUMN_SIZE int => 精度
  6. BUFFER_LENGTH int => 列值的字符长度
  7. DECIMAL_DIGITS short => 小数位数
  8. PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
    • versionColumnUnknown - 可能是或不是伪列。
    • versionColumnNotPseudo - 不是一个伪列
    • versionColumnPseudo - 是一个伪列

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
返回值:
ResultSet - 每一行是一个列说明
抛出: SQLException
如果发生了数据访问错误。
getPrimaryKeys
 public abstract ResultSet getPrimaryKeys(String catalog,
                                          String schema,
                                          String table) throws SQLException
获得关于一个表主关键字列的说明。 它们按 COLUMN_NAME 排序。

每个关键字列说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
  3. TABLE_NAME String => 表名
  4. COLUMN_NAME String => 列名
  5. KEY_SEQ short => 主关键字的序列号
  6. PK_NAME String => 主关键字名 ( 可以为 null)

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
返回值:
ResultSet - 每一行是一个关键字列说明
抛出: SQLException
如果发生了数据访问错误。
getImportedKeys
 public abstract ResultSet getImportedKeys(String catalog,
                                           String schema,
                                           String table) throws SQLException
获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。 它们按 PKTABLE_CAT、 PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 的顺序排列。

每个关键字列说明具有以下的列:

  1. PKTABLE_CAT String => 被导入的主关键字表的分类表 ( 可以为 null)
  2. PKTABLE_SCHEM String => 被导入的主关键字表的模式 ( 可以为 null)
  3. PKTABLE_NAME String => 被导入的主关键字表名
  4. PKCOLUMN_NAME String => 被导入的主关键字列名
  5. FKTABLE_CAT String => 外部关键字分类表 ( 可以为 null)
  6. FKTABLE_SCHEM String => 外部关键字模式 ( 可以为 null)
  7. FKTABLE_NAME String => 外部关键字表名
  8. FKCOLUMN_NAME String => 外部关键字列名
  9. KEY_SEQ short => 外部关键字的序列号
  10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:
    • importedNoAction - 如果已经导入主关键字,则不允许更新它。
    • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
    • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
    • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
  11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
    • importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
    • importedKeyCascade - 删除导入已删除关键字的行
    • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
    • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
  12. FK_NAME String => 外部关键字名 ( 可以为 null)
  13. PK_NAME String => 主关键字名 ( 可以为 null)
  14. DEFERRABILITY short => 外部关键字的约束值是否能延续到提交
    • importedKeyInitiallyDeferred - 定义请参见 SQL92。
    • importedKeyInitiallyImmediate - 定义请参见 SQL92。
    • importedKeyNotDeferrable - 定义请参见 SQL92。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
返回值:
ResultSet - 每一行是一个主关键字列说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getExportedKeys
getExportedKeys
 public abstract ResultSet getExportedKeys(String catalog,
                                           String schema,
                                           String table) throws SQLException
获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。 它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

每个外部关键字列说明具有以下的列:

  1. PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
  2. PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
  3. PKTABLE_NAME String => 主关键字表名
  4. PKCOLUMN_NAME String => 主关键字列名
  5. FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
  6. FKTABLE_SCHEM String => 被导入的外部关键字表分类表 ( 可以为 null)
  7. FKTABLE_NAME String => 被导入的外部关键字表名
  8. FKCOLUMN_NAME String => 被导入的外部关键字列名
  9. KEY_SEQ short => 外部关键字的序列号
  10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:
    • importedNoAction - 如果已经导入主关键字,则不允许更新它。
    • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
    • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
    • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
  11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
    • importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
    • importedKeyCascade - 删除导入已删除关键字的行
    • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
    • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
  12. FK_NAME String => 外部关键字名 ( 可以为 null)
  13. PK_NAME String => 主关键字名 ( 可以为 null)
  14. DEFERRABILITY short => 外部关键字的约束值是否能延续到提交
    • importedKeyInitiallyDeferred - 定义请参见 SQL92。
    • importedKeyInitiallyImmediate - 定义请参见 SQL92。
    • importedKeyNotDeferrable - 定义请参见 SQL92。

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
返回值:
ResultSet - 每一行是一个外部关键字列说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getImportedKeys
getCrossReference
 public abstract ResultSet getCrossReference(String primaryCatalog,
                                             String primarySchema,
                                             String primaryTable,
                                             String foreignCatalog,
                                             String foreignSchema,
                                             String foreignTable) throws SQLException
获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

每个外部关键字列说明具有以下的列:

  1. PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
  2. PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
  3. PKTABLE_NAME String => 主关键字表名
  4. PKCOLUMN_NAME String => 主关键字列名
  5. FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
  6. FKTABLE_SCHEM String => 被导入的外部关键字表模式 ( 可以为 null)
  7. FKTABLE_NAME String => 被导入的外部关键字表名
  8. FKCOLUMN_NAME String => 被导入的外部关键字列名
  9. KEY_SEQ short => 外部关键字的序列号
  10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:
    • importedNoAction - 如果已经导入主关键字,则不允许更新它。
    • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
    • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
    • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
  11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
    • importedKeyNoAction - 如果主关键字已经被导入,则不允许删除它。
    • importedKeyCascade - 删除导入已删除关键字的行
    • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
    • importedKeyRestrict - 与 importedKeyNoAction 相同 ( 为了与 ODBC 2.x 兼容 )
    • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
  12. FK_NAME String => 外部关键字名 ( 可以为 null)
  13. PK_NAME String => 主关键字名 ( 可以为 null)
  14. DEFERRABILITY short => 外部关键字的约束值是否能够延续到提交
    • importedKeyInitiallyDeferred - 定义请参见 SQL92。
    • importedKeyInitiallyImmediate - 定义请参见 SQL92。
    • importedKeyNotDeferrable - 定义请参见 SQL92。

参数:
primaryCatalog - 一个分类表名;"" 检索那些没有分类表的; null 意味着从选择标准中删除分类表名。
primatySchema - 模式名模本;"" 检索没有那些模式的
primaryTable - 导入该关键字的表名
foreignCatalog - 一个分类表名;"" 检索那些没有分类表的; null 意味着从选择标准中删除分类表名。
foreignSchema - 模式名模本;"" 检索没有那些模式的
foreignTable - 导入该关键字的表名
返回值:
ResultSet - 每一行是一个外部关键字列说明
抛出: SQLException
如果发生了数据访问错误。
参见:
getImportedKeys
getTypeInfo
 public abstract ResultSet getTypeInfo() throws SQLException
获得该数据库支持的所有标准 SQL 类型说明。 它们先按 DATA_TYPE 排序,然后按该数据类型与相应的 JDBC SQL 类型映射的紧密程度排序。

每个类型说明具有以下的列:

  1. TYPE_NAME String => 类型名
  2. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
  3. PRECISION int => 最大精度
  4. LITERAL_PREFIX String => 用于引用一段文字的前缀 ( 可以为 null)
  5. LITERAL_SUFFIX String => 用于引用一段文字的后缀 ( 可以为 null)
  6. CREATE_PARAMS String => 用于创建类型的参数 ( 可以为 null)
  7. NULLABLE short => 该类型是否可以用 NULL?
    • typeNoNulls - 不允许 NULL 值
    • typeNullable - 允许 NULL 值
    • typeNullableUnknown - 不知是否允许 NULL 值
  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 String => 类型名的本地化版本( 可以为 null)
  14. MINIMUM_SCALE short => 支持最小的小数位数
  15. MAXIMUM_SCALE short => 支持最大的小数位数 ted
  16. SQL_DATA_TYPE int => 未使用
  17. SQL_DATETIME_SUB int => 未使用
  18. NUM_PREC_RADIX int => 通常是 2 或 10

返回值:
ResultSet - 每一行是一个 SQL 类型说明
抛出: SQLException
如果发生了数据访问错误。
getIndexInfo
 public abstract ResultSet getIndexInfo(String catalog,
                                        String schema,
                                        String table,
                                        boolean unique,
                                        boolean approximate) throws SQLException
获得一个关于表的索引和统计信息。 它们按 NON_UNIQUE、TYPE、 INDEX_NAME 和 ORDINAL_POSITION 顺序排列。

每个索引列说明具有以下的列:

  1. TABLE_CAT String => 表分类表 ( 可以为 null)
  2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
  3. TABLE_NAME String => 表名
  4. NON_UNIQUE boolean => 索引值是否可以不是唯一的? 当 TYPE 是 tableIndexStatistic 时为 false
  5. INDEX_QUALIFIER String => 索引分类表 ( 可以为 null);当 TYPE 是 tableIndexStatistic 时为 null。
  6. INDEX_NAME String => 索引名;当 TYPE 是 tableIndexStatistic 时为 null
  7. TYPE short => 索引类型:
    • tableIndexStatistic - 它标识了表的统计信息,该信息是与表的索引说明一起返回的
    • tableIndexClustered - 这是索引簇
    • tableIndexHashed - 这是散列索引
    • tableIndexOther - 这是其它类型的索引
  8. ORDINAL_POSITION short => 索引中列的序列号;当 TYPE 是 tableIndexStatistic 时为零
  9. COLUMN_NAME String => 列名;当 TYPE 是 tableIndexStatistic 时为 null
  10. ASC_OR_DESC String => 列的排序顺序,"A" => 升序, "D" => 降序,如果不支持排序顺序可能为 null;当 TYPE 是 tableIndexStatistic 时为 null
  11. CARDINALITY int => 当 TYPE 是 tableIndexStatistic 时,它是表中的行数;否则它是索引中独特的数值是数目。
  12. PAGES int => 当 TYPE 是 tableIndexStatisic 时,这是用于表的页数,否则它是用于当前索引的页数。
  13. FILTER_CONDITION String => 如果存在,它是过滤器过条件。( 可以为 null)

参数:
catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
schema - 模式名模本;"" 检索没有那些模式的
table - 一个表名
unique - 当为 true 时,只返回独特数值的索引;当为 false,不管数值是否是独特的,返回其索引。
approximate - 当为 true 时,允许结果表示大概的或溢出的数据值;当为 false 时要求结果必须是正确的
返回值:
ResultSet - 每一行是一个索引列说明
抛出: SQLException
如果发生了数据访问错误。

当前位置 类层次 (JDK) 所有类 (JDK) 所有域和方法 (JDK)