sql server 怎樣用SQL語句查詢一個資料庫中的所有表?

來源:互聯網
上載者:User

標籤:約束   限制   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語句查詢一個資料庫中的所有表?

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.