搜了一大堆做個總結,以下是Sql Server中的方法,備忘下 1,利用sysobjects系統表 在這個表中,在資料庫中創建的每個對象(例如約束、預設值、日誌、規則以及存儲過程)都有對應一行,我們在該表中篩選出xtype等於U的所有記錄,就為資料庫中的表了。 示例語句如下:: select * f ...
搜了一大堆做個總結,以下是Sql Server中的方法,備忘下
1,利用sysobjects系統表 在這個表中,在資料庫中創建的每個對象(例如約束、預設值、日誌、規則以及存儲過程)都有對應一行,我們在該表中篩選出xtype等於U的所有記錄,就為資料庫中的表了。 示例語句如下::
select * from sysobjects where xtype='U'
註意:在SQL SERVER2005中,出現了sys.objects目錄視圖來代替sysobjects系統表,我們在SQL SERVER2005及以後的版本中,可以使用sysobjects系統表與sys.objects目錄視圖的任意對象來查詢所有表。
2,利用sys.tables目錄視圖 sys.tables目錄視圖,為每個表對象返回一行. 示例語句如下:
select * from sys.tables
註意:sys.tables目錄視圖也只有在SQL SERVER2005及以上的版本中才能使用。
3,利用存儲過程sp_tables sp_tables存儲過程,可返回可在當前環境中查詢的對象列表。這代表可在FROM子句中出現的任何對象。 我們可以執行如下語句:
exec sp_tables
在結果集中篩選出所有TABLE_TYPE等於TABLE的記錄就是表信息了。
其他有用的系統功能
--讀取庫中的所有表名
select name from sysobjects where xtype='u'
--讀取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
獲取資料庫表名和欄位
sqlserver中各個系統表的作用
sysaltfiles 主資料庫 保存資料庫的文件
syscharsets 主資料庫 字元集與排序順序
sysconfigures 主資料庫 配置選項
syscurconfigs 主資料庫 當前配置選項
sysdatabases 主資料庫 伺服器中的資料庫
syslanguages 主資料庫 語言
syslogins 主資料庫 登陸帳號信息
sysoledbusers 主資料庫 鏈接伺服器登陸信息
sysprocesses 主資料庫 進程
sysremotelogins主資料庫 遠程登錄帳號
syscolumns 每個資料庫 列
sysconstrains 每個資料庫 限制
sysfilegroups 每個資料庫 文件組
sysfiles 每個資料庫 文件
sysforeignkeys 每個資料庫 外部關鍵字
sysindexs 每個資料庫 索引
sysmenbers 每個資料庫 角色成員
sysobjects 每個資料庫 所有資料庫對象
syspermissions 每個資料庫 許可權
systypes 每個資料庫 用戶定義數據類型
select 列名=name from syscolumns where id=object_id(N'要查的表名')