基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
java.sql.DatabaseMetaData
更新时间:2026-07-22 17:45:59
java.sql.DatabaseMetaData 是定义数据库对象的接口。
描述
此接口提供关于整个数据库的综合信息,由驱动程序供应商实现,可以让用户了解数据库管理系统 (DBMS) 与基于 JDBC™ 技术的驱动程序相结合后的功能。请注意,本文档中使用的术语"数据库"一般用于指代驱动程序和 DBMS。
此接口通常被作为处理底层 DBMS 的工具。例如,使用 getTypeInfo 方法找出可以在 CREATE TABLE 语句中使用的数据类型。或者,用户可能会调用 supportsCorrelatedSubqueries 方法来查看是否可以使用相关子查询或使用 supportsBatchUpdates 来查看是否可以使用批量更新。
一些 DatabaseMetaData 方法以 ResultSet 对象的形式返回信息列表。常规 ResultSet 方法(例如 getString 和 getInt)可用于从这些 ResultSet 对象中检索数据。如果给定形式的元数据不可用,将返回一个空的 ResultSet。除了由 ResultSet 对象为指定方法定义的列之外,其他列可以由 JDBC 驱动程序的供应商定义,并且必须通过它们的 column label 访问。
一些 DatabaseMetaData 方法采用 String 模式的参数。在 String 模式中,"%"表示匹配任意 0 个或多个字符的子字符串,"_"表示匹配任意一个字符。对于搜索模式,仅返回与搜索模式相匹配的元数据条目。如果搜索模式参数设置为 null,则将从搜索中删除该参数的标准。
方法
| 方法名 | 返回值类型 | Oracle 模式是否支持 | MySQL 模式是否支持 |
|---|---|---|---|
| getImportedKeys(String catalog,String schema,String table) | ResultSet | 是 | 是 |
| getPrimaryKeys(String catalog,String schema,String table) | ResultSet | 是 | 是 |
| getTables(String catalog,String schemaPattern,String tableNamePattern,String types[]) | ResultSet | 是 | 是 |
| getColumns(String catalog,String schemaPattern,String tableNamePattern,String columnNamePattern) | ResultSet | 是 | 是 |
| getExportedKeys(String catalog,String schema,String table) | ResultSet | 是 | 是 |
| getBestRowIdentifier(String catalog, String schema,String table, int scope, boolean nullable) | ResultSet | 是 | 是 |
| getPseudoColumns(String catalog, String schemaPattern,String tableNamePattern, String columnNamePattern) | ResultSet | 是 | 是 |
| getURL() | String | 是 | 是 |
| getUserName() | String | 是 | 是 |
| getDatabaseProductName() | String | 是 | 是 |
| getSQLKeywords() | String | 是 | 是 |
| getNumericFunctions() | String | 是 | 是 |
| getStringFunctions() | String | 是 | 是 |
| getSystemFunctions() | String | 是 | 是 |
| getTimeDateFunctions() | String | 是 | 是 |
| supportsConvert() | Boolean | 是 | 是 |
| getProcedures(String catalog,String schemaPattern,String procedureNamePattern) | ResultSet | 是 | 是 |
| getProcedureColumns(String catalog,String schemaPattern,String procedureNamePattern,String columnNamePattern) | ResultSet | 是 | 是 |
| getFunctionColumns(String catalog,String schemaPattern,String procedureNamePattern,String columnNamePattern) | ResultSet | 是 | 是 |
| getSchemas() | ResultSet | 是 | 是 |
| getSchemas(String catalog,String schemaPattern) | ResultSet | 是 | 是 |
| getCatalogs() | ResultSet | 是 | 是 |
| getTableTypes() | ResultSet | 是 | 是 |
| getColumnPrivileges(String catalog,String schema,String table,String columnNamePattern) | ResultSet | 是 | 是 |
| getTablePrivileges(String catalog,String schemaPattern,String tableNamePattern) | ResultSet | 是 | 是 |
| getVersionColumns(String catalog,String schema,String table) | ResultSet | 是 | 是 |
| getCrossReference(String parentCatalog,String parentSchema,String parentTable,String foreignCatalog,String foreignSchema,String foreignTable ) | ResultSet | 是 | 是 |
| getTypeInfo() | ResultSet | 是 | 是 |
| getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) | ResultSet | 是 | 是 |
| getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) | ResultSet | 是 | 是 |
| getSuperTypes(String catalog,String schemaPattern,String typeNamePattern) | ResultSet | 是 | 是 |
| getSuperTables(String catalog,String schemaPattern,String tableNamePattern) | ResultSet | 是 | 是 |
| getClientInfoProperties() | ResultSet | 是 | 是 |
| getFunctions(String catalog,String schemaPattern,String functionNamePattern) | ResultSet | 是 | 是 |
| getAttributes(String catalog,String schemaPattern,String typeNamePattern,String attributeNamePattern) | ResultSet | 是 | 是 |