資料庫資訊包括資料庫詳細資訊、資料庫基本資訊、基本表資訊、列資訊等內容
1、獲取資料庫詳細資訊
databasemetadata物件代表了乙個資料庫的詳細資訊,它的方法所獲取的資料庫系統的資訊通常用resultset物件的開工返回,可以用resultset物件的方法取得資料資訊,如getstring, getint等。當返回的資料不可用時,呼叫resultset物件的方法通常會丟擲sqlexception例外。
//建立databasemetadata
//con為乙個connection物件
databasemetadata dbmd
=con.getmetadata();
2、獲取資料庫基本資訊
資料庫的基本資訊包括jdbc驅動程式名字、資料庫表的最大列數、列名的最大字元數等資訊。
1)getbestrowidentifier :獲取乙個資料庫中用來唯一標識乙個表的列的最佳集合的描述
//語法
resultset getbestrowidentifier (string catalog, string schema, string table,
intscope, boolean nullable)
throws
sqlexception
引數說明:
catalog: 乙個代表目錄名的字串,「」代表程式要獲取沒有catalog的資料庫的資訊, null則代表了把catalog從選項中除去
schema:乙個代表模式名的字串
table: 代表了乙個表名的字串
scope: 有三種範圍,分別是bestrowtemporary, bestrowtransaction, bestrowsession
nullable:如果這個引數為true, 那麼就表示結果中要包含那些列為空的值,否則就除去這些列
該函式的返回值是乙個resultset物件,每一行都是對乙個列的描述,對返回值中的每乙個列的描述包括下述幾種:
a) scope的作用是指出結果集生效的範圍,有以下幾種選擇:
bestrowtemporary: 只有在使用這個行的時候才生效,有限期非常短
bestrowtransaction:在整個事務中都有效
bestrowsession: 在整個會話中都有效
b) column_name作用 給出列的名稱
c) data_type的功能是指出可用的資料型別
d) type_name將給出資料來源所使用的型別名
e) column_size將給出列的精度
f) buffer_length這是乙個暫未使用的值
g) pseudo_column指出該列是否是資料庫系統產生的列
bestrowunknow: 可能是pseudo列
bestrownotpseudo: 不是資料庫系統產生的列
bestrowpseudo: 是資料庫系統產生的列 //例
resultset rs
=dbmd.getbestrowidentifier(
null, "
system",
"new",
1, true);
2) gettypeinfo: 獲取乙個資料庫系統支援的所有資料型別,每一行都是對乙個資料型別的描述
返回的每行包括如下的列:
//語法
resultset gettypeinfo()
throws
sqlexception
a) type_name: 資料型別名
b) data_type: 短整型的數,指出在jdbc中對映到本地dbms資料型別最為合適的資料型別
c) precision: 整型數,指出最大的精度
d) literal_prefix: 可能引用的文字字首,可能為null
e) literal_suffix: 可能用來引用乙個文字的字尾, 可以為null
f) create_params: 建立這種資料型別所用的引數, 可以為空
g) nullable: 指出乙個列是否可以為空, 可能值為:
typenonulls 不允許為空
typenullable可以為空
typenullableunknown不知道是否可以為空
h) case_sensitive: 如果為真, 則說明這種型別是大小寫敏感的
i) searchable: 指出是否可以在where條件語句中使用這種型別,有以下值:
typeprenone: 不可以在where中
typepredchar: 只可以用於where...like語句中
typepredbasic: 除了where....like語句外所有where語句中都可以使用這種資料型別
typesearchable: 所有where語句都可以使用這種資料型別
j) unsigned_attribute: 如果為true,則這種資料型別是無符號的
k) fixed_prec_scale: 如果為true, 則這種資料型別可以為貨幣型別
l) auto_increment: 為true則說明這是乙個可以自動增加值的型別
m)
python獲取資料庫資訊
親測可用 import pymysql import sys 匯入pymysql模組 import pymysql 獲取連線 coon pymysql.connect host localhost db test user root password root port 3306,charset u...
獲取資料庫表的有關資訊
1.獲取所有資料庫名 1 select name from master.dbo.sysdatabases order by name 2.獲取所有表名 1 select name from sysobjects where xtype u order by name xtype u 表示所有使用者...
mysql獲取資料庫容量及資料庫相關資訊
use information schema 選擇資料庫 select concat round sum data length 1024 1024 2 mb as data from tables 查詢所有資料庫占用容量 mysql總占用 select concat round sum data ...