数据库元数据(DatabaseMetaDate)

本文介绍如何通过Java使用DatabaseMetaData和ResultSetMetaData来获取数据库元数据信息,包括数据库与用户信息、数据库特性及限制等,并提供了一个获取数据库中所有表名的具体实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DatabaseMetaData(数据库元数据)
1 获得DatabaseMetaData对象 DatabaseMetaData dbmd = conn.getMetaData(); conn为一个Connection对象 2 使用DatabaseMetaData可以获得如下信息 数据库与用户,数据库标识符以及函数与存储过程 数据库支持与不支持的功能 数据库的限制,如数据库名称的最大长度 架构,编目,表和列 3 实例 获取表清单
 import java.sql.*;
import java.util.*;
import Collections.*;
public class GetTableList {
      public static void main(String[] args) {
                 Connection conn = null;
                 ResultSet rset = null;
            try {
                 conn = ConnectionFactory.getConnection();
                 DatabaseMetaData dbmd = conn.getMetaData();
                 String[] types = {"TABLE"};
                rset = dbmd.getTables(null,null,null,types);
                Vector v = new Vector();
                while(rset.next()) {
                         String name = rset.getString("TABLE_NAME");
                         v.add(name);
               }
               Collections.sort(v);
              } catch(Exception e) {
                        e.printStackTrace();
              }
              finally {
                        ConnectionFactory.close(rset);
                       ConnectionFactory.close(conn);
              }
       }
}
注:ConnectionFactory为构建的一个类,这里没有给出源代码。 String[] types 是一个指出返回何种表的数组,可能的选项包括 "TABLE" "VIEW" " SYSTEM TABLE" "CLOBAL TEMPORARY" "LOCAL TEMPORARY" "ALIAS" "SYNONYM" .
getTables方法返回的ResultSet对象中的列包括
TABLE_CAT 该表属于的那个编目的名称
TABLE_SCHEM 该表属于的那个架构的名称
TABLE_NAME 该表的名称
TABLE_TYPE 该表的类型
REMARKS 备注
 ResultSetMetaData(结果集元数据) 由于结果集可以含有从表中派生的一些列的信息,所以该对象可以含有不是数据库中列的一些信息。
1。获得ResultSetMetaData对象
      ResultSet rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();
注意:上面的查询不必返回任何行,并不影响结果集元数据的创建。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值