標籤:約束 限制 types line 建立 許可權 指定 關鍵字 oledb
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‘要查的表名‘)
sql server 怎樣用SQL語句查詢一個資料庫中的所有表?