共計 1940 個字符,預(yù)計需要花費(fèi) 5 分鐘才能閱讀完成。
這篇文章主要介紹“怎么用 SQL 語句查看 SQL Server 的結(jié)構(gòu)信息”,在日常操作中,相信很多人在怎么用 SQL 語句查看 SQL Server 的結(jié)構(gòu)信息問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用 SQL 語句查看 SQL Server 的結(jié)構(gòu)信息”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學(xué)習(xí)吧!
獲取數(shù)據(jù)庫及配置信息
1、獲取數(shù)據(jù)庫配置信息
exec sp_server_info
2、返回所有數(shù)據(jù)庫
exec sp_databases
獲取系統(tǒng)中的用戶表
有三種方法可以使用,分別是:
1、利用 sysobjects 系統(tǒng)表或 sys.objects 目錄視圖
select * from sysobjects where xtype= U select * from sys.objects where xtype= U
2、利用 sys.tables 目錄視圖
select * from sys.tables
3、利用存儲過程 sp_tables
exec sp_tables
獲取系統(tǒng)中所有的用戶視圖
有兩種方法可以使用,分別是:
1、利用 sysobjects 系統(tǒng)表或 sys.objects 目錄視圖
select * from sysobjects where xtype= V select * from sys.objects where xtype= V
2、利用 sys.tables 目錄視圖
select * from sys.tables
獲取數(shù)據(jù)庫中所有的用戶存儲過程
有兩種方法可以使用,分別是:
1、利用 sysobjects 系統(tǒng)表或 sys.objects 目錄視圖
select * from sysobjects where xtype= P select * from sys.objects where xtype= P
2、利用 sys.procedures 目錄視圖
select * from sys.procedures
獲取存儲過程或視圖的定義腳本
要用到系統(tǒng)視圖 sys.all_objects 和 sys.sql_modules,寫法如下:
select a.name,a.[type],b.[definition] from sys.all_objects a,sys.sql_modules b where a.is_ms_shipped=0 and a.object_id = b.object_id and a.[type] in (P , V) order by a.[name] asc
其中 sys.all_objects 是 sql server 2012 版本中的系統(tǒng)視圖,在 更早期的 sql server 版本中,應(yīng)該用 sys.objects,同時,sys.objects 在 2012 中也是可以用的,只不過考慮到后續(xù)兼容性,在新版本中,用新的 name 還是比較好。
sys.all_objects.type 字段常用的類型有:P = 存儲過程、V = 視圖、U = 表(用戶定義類型)、TT = 表類型、AF = 聚合函數(shù)等。
sys.sql_modules.definition 返回的就是定義存儲過程或視圖的腳本。
獲取表的字段信息
1、如果單純獲取字段名稱,只需要用到系統(tǒng)表 syscolumns。
select * from syscolumns where id=object_id(表名)
2、如果要獲取字段和對應(yīng)的數(shù)據(jù)類型,需要用到系統(tǒng)表 syscolumns 和 systypes。
select a.name as [column],b.name as type from syscolumns a,systypes b where a.id=object_id(表名) and a.xtype=b.xtype
3、獲取更詳細(xì)的表結(jié)構(gòu)信息,調(diào)用 [INFORMATION_SCHEMA].[COLUMNS]。
SELECT c.TABLE_SCHEMA , c.TABLE_NAME , c.COLUMN_NAME , c.DATA_TYPE , c.CHARACTER_MAXIMUM_LENGTH , c.COLUMN_DEFAULT , c.IS_NULLABLE , c.NUMERIC_PRECISION , c.NUMERIC_SCALE FROM [INFORMATION_SCHEMA].[COLUMNS] c WHERE TABLE_NAME = idata
到此,關(guān)于“怎么用 SQL 語句查看 SQL Server 的結(jié)構(gòu)信息”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!