在實際工作中會遇到通過SQL查詢數據庫是否存在的情況,下面一些語句可以提供一些幫助,本文的語句是在SQL08R2中測試的
1,查詢當前數據庫服務器所有數據庫
select * From master.dbo.sysdatabases
2,查詢數據庫是否存在
select count(*) From master.dbo.sysdatabases where name='數據庫名'
3,查詢某數據庫中所有用戶表
select * from sysobjects where xtype='U'
‘U’代表用戶表
C = CHECK 約束 D = 默認值或 DEFAULT 約束 F = FOREIGN KEY 約束 L = 日志 FN = 標量函數
IF = 內嵌表函數 P = 存儲過程 PK = PRIMARY KEY 約束(類型是 K) RF = 復制篩選存儲過程
S = 系統表 TF = 表函數 TR = 觸發器 U = 用戶表 UQ = UNIQUE 約束(類型是 K)
V = 視圖 X = 擴展存儲過程
4 查詢數據庫中某一個表是否存在
select count(*) from 數據名.dbo.sysobjects where id = object_id('數據庫名.dbo.表名')
參考資料:
http://www.cnblogs.com/atree/p/SQL-Server-sysobjects.html
http://www.cnblogs.com/puresoul/archive/2010/03/21/1691004.html
http://blog.csdn.net/fuyouche/article/details/8039197