posts - 54,  comments - 1,  trackbacks - 0
DatabaseMetaData 接口作为整体提供有关数据库的综合信息。

 从连Connection取得DatabaseMetaData :

DatabaseMetaData dbmd=con.getMetaData(); 

 DatabaseMetaData有以下常用方法 :

 getDriverName() :取得驱动程序名

 getDatabaseProductName() :取得数据库名(如:MySql,Sql Server等)

 getSQLKeywords() :取得SQL中的关键字

 getMaxConnections() : 并发访问的用户个数

 getNumericFunctions() : 数据库的所有数学函数的列表 

 getStringFunctions() : 数据库的所有字符串函数的列表 

 getSystemFunctions() : 数据库的所有系统函数的列表

 getTimeDateFunctions() : 数据库的所有日期时间函数的列表

 getTypeInfo() : 数据类型信息

 rs = dbmd.getTypeInfo();
 
while(rs.next())
 
{
    System.out.print(
" 数据类型名:"+rs.getString(1));
    System.out.print(
"  数据类型:"+ rs.getString(2));
    System.out.print(
"  精度:"+   rs.getString(3));
    System.out.println(
"  基数:"+   rs.getString(18));
 }

 getURL() : 数据库的url

 getUserName() : 数据库的用户

 getTables() :取得数据表信息

 String [ ] t = "TABLE""VIEW" };
 rs 
= dbmd.getTables(null"HR""%", t);
 
while(rs.next()){
   System.out.print(
"目录名:"+rs.getString(1));
   System.out.print(
" 模式名:"+rs.getString(2));
   System.out.print(
" 表名:"+rs.getString(3));
   System.out.print(
" 表的类型:"+rs.getString(4));
   System.out.println(
" 注释:"+rs.getString(5));
 }
 

 getPrimaryKeys() :取得主键信息

 rs = dbmd.getPrimaryKeys(null"HR","EMPLOYEES");
 
while(rs.next()){
   System.out.print(
"目录名:"+rs.getString(1));
   System.out.print(
" 模式名:"+rs.getString(2));
   System.out.print(
" 表名:"+rs.getString(3));
   System.out.print(
" 列名顺序号:"+rs.getString(4));
   System.out.print(
" 列名顺序号:"+rs.getString(5));
   System.out.println(
" 主键名:"+rs.getString(6));
 }
 

 getTableTypes() : 取得表的类型

 rs = dbmd.getTableTypes();
 System.out.println(
" 表的类型有:");
 
while(rs.next())
    System.out.print(
"  "+ rs.getString(1));
 System.out.println(); 

 getColumns() : 列信息 

 rs = dbmd.getColumns(null"HR""EMPLOYEES""%");
 
while(rs.next()){
   System.out.print(
" 表名 "+rs.getString(3)+" ");
   System.out.print(
" 列名 "+rs.getString(4)+" ");
   System.out.print(
" 数据类型"+rs.getString(5)+" ");
   System.out.print(
" 本地类型名"+rs.getString(6)+" ");
   System.out.print(
" 列的大小"+rs.getString(7)+" ");
   System.out.print(
" 小数位数"+rs.getString(9)+" ");
   System.out.print(
" 数据基数"+rs.getString(10)+" ");
   System.out.print(
" 是否可空"+rs.getString(11)+" ");
   System.out.println(
" 索引号"+rs.getString(17)+" ");
 }
 

 getIndexInfo() :  索引信息 

 rs = dbmd.getIndexInfo(null"HR""EMPLOYEES"falsefalse);
 
while(rs.next()){
    System.out.print(
" 表名"+rs.getString(3)+" ");


    System.out.print(
" 索引名"+rs.getString(6)+" ");
    System.out.print(
" 索引类型"+rs.getString(7)+" ");
    System.out.print(
" 索引列名"+rs.getString(9)+" ");
    System.out.println(
" 索引顺序"+rs.getString(10)+" ");
 }
posted on 2006-01-02 23:30 ZhuJun 阅读(483) 评论(0)  编辑  收藏 所属分类: 开发手记Java基础

只有注册用户登录后才能发表评论。


网站导航:
 

蜀中人氏,躬耕于珠海

<2006年1月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(2)

随笔分类(71)

随笔档案(54)

博客

文档

站点

论坛

搜索

  •  

积分与排名

  • 积分 - 50261
  • 排名 - 981

最新评论

阅读排行榜