首页 > 编程知识 正文

oracle从dmp中恢复指定表,oracle的jdbc连接

时间:2023-05-06 17:45:32 阅读:61883 作者:2570

要数据库检索指定表中的所有列和对应信息,请:

(以MySQL和Oracle为例,其他类型的数据库很少接触,因此不进行说明。)

数据库元数据接口可以在连接接口上使用。

提供:需要传递四个参数的getColumns ()方法:

第一个是数据库名称。 对于MySQL,对应于相应的数据库;对于Oracle,对应于相应的数据库实例。 可以不输入,也可以直接使用Connection实例对象的getCatalog )方法返回的值进行输入。

第二种模式可以理解为数据库的登录名。 此外,Oracle还可以将其理解为数据库操作所有者的登录名。 在Oracle中,登录名必须大写。 如果不大写,则无法获取适当的数据,但在MySQL中不是必需的。

第三个是表名,用于传递要搜索的表

第四种列类型,如果为空,则获取与表对应的所有列,如果不为空,则获取该值列的所有信息。

返回23列ResultSet对象,详细说明表的类型。

TABLE_CAT String=表类别(

空值)

TABLE_SCHEM String=表模式(

空值)

TABLE_NAME String=表名

COLUMN_NAME String=列名

从DATA_TYPE int=开始

java.sql.Types的SQL类型

TYPE_NAME String=

数据源依赖的类型名称。 对于UDT,此类型名称是完全限定的

COLUMN_SIZE int=列的大小。

未使用BUFFER_LENGTH。

DECIMAL_DIGITS int=

小数部分的位数。 如果DECIMAL_DIGITS是不适用的数据类型,则返回Null。

NUM_PREC_RADIX int=基数(

10或2 )

空值int=是否允许使用

空值。

列无空值-空值可能不可用

column nullable -显式允许使用空值

不知道是否可以使用columnnullableunknown-null

REMARKS String=说明列的注释(

空值)

COLUMN_DEF String=

如果值用单引号括起来,则此列的缺省值将被解释为字符串。 空值也可以

SQL_DATA_TYPE int=未使用

SQL_DATETIME_SUB int=

未使用

相对于CHAR_OCTET_LENGTH int=的

char类型,它是列中的最大字节数

ORDINAL_POSITION int=

表中列的索引(从1开始)

IS_NULLABLE String=ISO

规则确定列是否包含空值。

YES ---如果参数可以包含NULL

NO ---如果参数不能包含空值

空字符串---如果不确定参数是否可以包含null

SCOPE_CATLOG String=

的类别。 引用属性的范围。 如果DATA_TYPE不是REF,则为空)

SCOPE_SCHEMA String=

的架构。 引用属性的范围。 如果DATA_TYPE不是REF,则为空)

SCOPE_TABLE String=

作为引用属性范围的表名。 如果DATA_TYPE不是REF,则为空)

SOURCE_DATA_TYPE short=

来自不同类型或用户生成的Ref类型、java.sql.Types的SQL类型的源类型(如果DATA_TYPE不是)

DISTINCT或用户生成的REF时为null )

IS_AUTOINCREMENT String=

指示此列是否自动增加

是---如果此列自动增加

否---如果此列不自动增加

空字符串---如果列不确定是否自动添加参数

可以根据需要使用

样本:

databasemetadatametadata=conn.get metadata (;

//resultset RS=metadata.get columns

(conn.getCatalog ()、' SCOTT '、' EMP '、' SAL ' );

ResultSet rs=

元数据. get columns (conn.get catalog )、' root )、' book )、

' book_id ';

while(RS.next ) ) system.out.println ) RS.getstring('column_name ' );

}

使用时,建议将所有参数大写以屏蔽每个数据库之间的差异

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。