DatabaseMetaData 接口作為整體提供有關(guān)數(shù)據(jù)庫(kù)的綜合信息。
從連Connection取得DatabaseMetaData :
DatabaseMetaData dbmd=con.getMetaData();
DatabaseMetaData有以下常用方法 :
getDriverName() :取得驅(qū)動(dòng)程序名
getDatabaseProductName() :取得數(shù)據(jù)庫(kù)名(如:MySql,Sql Server等)
getSQLKeywords() :取得SQL中的關(guān)鍵字
getMaxConnections() : 并發(fā)訪問(wèn)的用戶個(gè)數(shù)
getNumericFunctions() : 數(shù)據(jù)庫(kù)的所有數(shù)學(xué)函數(shù)的列表
getStringFunctions() : 數(shù)據(jù)庫(kù)的所有字符串函數(shù)的列表
getSystemFunctions() : 數(shù)據(jù)庫(kù)的所有系統(tǒng)函數(shù)的列表
getTimeDateFunctions() : 數(shù)據(jù)庫(kù)的所有日期時(shí)間函數(shù)的列表
getTypeInfo() : 數(shù)據(jù)類型信息
rs = dbmd.getTypeInfo();
while(rs.next())

{
System.out.print(" 數(shù)據(jù)類型名:"+rs.getString(1));
System.out.print(" 數(shù)據(jù)類型:"+ rs.getString(2));
System.out.print(" 精度:"+ rs.getString(3));
System.out.println(" 基數(shù):"+ rs.getString(18));
}
getURL() : 數(shù)據(jù)庫(kù)的url
getUserName() : 數(shù)據(jù)庫(kù)的用戶
getTables() :取得數(shù)據(jù)表信息

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(" 列名順序號(hào):"+rs.getString(4));
System.out.print(" 列名順序號(hào):"+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(" 數(shù)據(jù)類型"+rs.getString(5)+" ");
System.out.print(" 本地類型名"+rs.getString(6)+" ");
System.out.print(" 列的大小"+rs.getString(7)+" ");
System.out.print(" 小數(shù)位數(shù)"+rs.getString(9)+" ");
System.out.print(" 數(shù)據(jù)基數(shù)"+rs.getString(10)+" ");
System.out.print(" 是否可空"+rs.getString(11)+" ");
System.out.println(" 索引號(hào)"+rs.getString(17)+" ");
}
getIndexInfo() : 索引信息
rs = dbmd.getIndexInfo(null, "HR", "EMPLOYEES", false, false);

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 閱讀(502)
評(píng)論(0) 編輯 收藏 所屬分類:
開(kāi)發(fā)手記 、
Java基礎(chǔ)