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':表示所有使用者表;
xtype='s':表示所有系統表;
(2)、select name from sysobjects where type = 'u' and sysstat = '83'
注意:一般情況只需要type = 'u',但有時候會有系統表混在其中(不知道什麼原因),加上後面一句後就能刪除這些系統表了
3.獲取所有欄位名:
(1)、select name from syscolumns where id=object_id('tablename')
(2)、select syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length from syscolumns, systypes where syscolumns.xusertype = systypes.xusertype and "syscolumns.id = object_id('tablename')
注意點:
(a)這裡為了重點突出某些重要內容,選取了其中幾項資訊輸出。
(b)syscolumns表中只含有資料型別編號,要獲取完整的名字需要從systypes表中找,一般使用者使用的資料型別用xusertype對應比較好,不會出現一對多的情況。
(c)syscolumns.length得到的是物理記憶體的長度,所以nvarchar和varchar等型別在資料庫中的顯示是這個的一半。
4、得到表中主鍵所包含的列名:
select syscolumns.name from syscolumns,sysobjects,sysindexes,sysindexkeys where syscolumns.id = object_id('tablename') and sysobjects.xtype = 'pk' and sysobjects.parent_obj = syscolumns.id and sysindexes.id = syscolumns.id and sysobjects.name = sysindexes.name and sysindexkeys.id = syscolumns.id and sysindexkeys.indid = sysindexes.indid and syscolumns.colid = sysindexkeys.colid
注意:這是在4張系統表中尋找的,關係比較複雜,大致可以表示為:
syscolumns中存有表中的列資訊和表id,sysobjects表中存有主鍵名字(即pk_table類似)和表id,sysindexes中存有主鍵名字和表id和index編號,sysindexkeys中存有表id和index編號和列編號,一項一項對應起來後就能找到列名了,呼~
5、得到表中列的描述內容:
select a.name,g.value from syscolumns as a left join sysproperties g on a.id=g.id and a.colid = g.smallid where a.id='表id'
學習MySQL 七 獲取有關資料庫和表的資訊
目錄 一 目的 1 想 獲取有關資料庫和表的資訊 二 參考 1 mysql 8 的學習 5獲取有關資料庫和表的資訊 三 操作 1 要找出當前選擇的資料庫,請使用以下 database 函式 2 要找出預設資料庫包含的表 例如,當您不確定表的名稱時 4 show create table 可以顯示建立...
獲取資料庫資訊
資料庫資訊包括資料庫詳細資訊 資料庫基本資訊 基本表資訊 列資訊等內容 1 獲取資料庫詳細資訊 databasemetadata物件代表了乙個資料庫的詳細資訊,它的方法所獲取的資料庫系統的資訊通常用resultset物件的開工返回,可以用resultset物件的方法取得資料資訊,如getstring...
獲取SQLite資料庫中的表資訊
1.查詢所有表名資訊 select from sqlite master select from sqlite sequence sqlite資料庫中的資訊存在於乙個內建表sqlite master中,在查詢器中可以用 select from sqlite master來檢視,如果只要列出所有表名的...