自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

巧用SQL語句查看SQL Server的結構信息

數據庫 SQL Server
常用SQLServer的朋友們,絕大部分情況下,我們寫SQL腳本主要用來處理我們自己的數據,比如讀取、插入數據等。但在有些情況下,我們可能要查看我們定義的一些元素,比如我們定義的表都有哪些、表結構如何、存儲過程的源碼等等。這時候,我們學習的常規(guī)的SQL腳本可能就無法處理了。

 常用SQLServer的朋友們,絕大部分情況下,我們寫SQL腳本主要用來處理我們自己的數據,比如讀取、插入數據等。但在有些情況下,我們可能要查看我們定義的一些元素,比如我們定義的表都有哪些、表結構如何、存儲過程的源碼等等。這時候,我們學習的常規(guī)的SQL腳本可能就無法處理了。

[[253422]]

比如您要寫一個管理數據庫的程序,就要知道數據庫中有什么表、表結構如何,以及視圖、存儲過程的腳本源碼等。下面我就說說如何獲取數據庫的結構信息。

獲取數據庫及配置信息

1、獲取數據庫配置信息

  1. exec sp_server_info  

2、返回所有數據庫

  1. exec sp_databases  

獲取系統(tǒng)中的用戶表

有三種方法可以使用,分別是:

1、利用sysobjects系統(tǒng)表或sys.objects目錄視圖

  1. select * from sysobjects where xtype='U'  
  2. select * from sys.objects where xtype='U'  

2、利用sys.tables目錄視圖

  1. select * from sys.tables  

3、利用存儲過程sp_tables

  1. exec sp_tables  

獲取系統(tǒng)中所有的用戶視圖

有兩種方法可以使用,分別是:

1、利用sysobjects系統(tǒng)表或sys.objects目錄視圖

  1. select * from sysobjects where xtype='V'  
  2. select * from sys.objects where xtype='V'  

2、利用sys.tables目錄視圖

 
  1. select * from sys.tables  

獲取數據庫中所有的用戶存儲過程

有兩種方法可以使用,分別是:

1、利用sysobjects系統(tǒng)表或sys.objects目錄視圖

  1. select * from sysobjects where xtype='P'  
  2. select * from sys.objects where xtype='P'  

2、利用sys.procedures目錄視圖

  1. select * from sys.procedures  

獲取存儲過程或視圖的定義腳本

要用到系統(tǒng)視圖sys.all_objectssys.sql_modules,寫法如下:

  1. select a.name,a.[type],b.[definition]   
  2. from sys.all_objects a,sys.sql_modules b  
  3. where a.is_ms_shipped=0 and a.object_id = b.object_id and a.[type] in ('P','V')  
  4. order by a.[nameasc 

其中 sys.all_objects 是 sql server 2012 版本中的系統(tǒng)視圖,在 更早期的 sql server 版本中,應該用 sys.objects,同時,sys.objects 在 2012 中也是可以用的,只不過考慮到后續(xù)兼容性,在新版本中,用新的 name 還是比較好。

sys.all_objects.type字段常用的類型有: P = 存儲過程、V = 視圖、U = 表(用戶定義類型)、TT = 表類型 、AF = 聚合函數等。

sys.sql_modules.definition返回的就是定義存儲過程或視圖的腳本

獲取表的字段信息

1、如果單純獲取字段名稱,只需要用到系統(tǒng)表syscolumns

  1. select * from syscolumns where id=object_id('表名')  

2、如果要獲取字段和對應的數據類型,需要用到系統(tǒng)表syscolumnssystypes。

  1. select a.name as [column],b.name as type   
  2. from syscolumns a,systypes b   
  3. where a.id=object_id('表名'and a.xtype=b.xtype  

3、獲取更詳細的表結構信息,調用[INFORMATION_SCHEMA].[COLUMNS]

  1. SELECT c.TABLE_SCHEMA ,  
  2.  c.TABLE_NAME ,  
  3.  c.COLUMN_NAME ,  
  4.  c.DATA_TYPE ,  
  5.  c.CHARACTER_MAXIMUM_LENGTH ,  
  6.  c.COLUMN_DEFAULT ,  
  7.  c.IS_NULLABLE ,  
  8.  c.NUMERIC_PRECISION ,  
  9.  c.NUMERIC_SCALE  
  10. FROM [INFORMATION_SCHEMA].[COLUMNS] c  
  11. WHERE TABLE_NAME = 'idata'  

如果您能夠活用這些系統(tǒng)內置的表、視圖和存儲過程,您總可以找到方法方便的查到想要知道的數據元素信息。

希望對您有所幫助! 

責任編輯:龐桂玉 來源: 快資訊
相關推薦

2010-09-26 10:35:47

sql替換語句

2010-09-06 11:57:33

sql server語句

2010-09-06 09:36:51

SQL語句

2010-09-16 17:56:31

SQL server臨

2010-09-06 13:17:19

SQL Server語句

2011-08-02 15:39:30

SQL Server iSql

2010-07-08 13:26:02

SQL Server

2010-09-25 16:17:25

SQL語句

2010-09-25 15:37:38

SQL語句

2010-07-08 13:32:22

SQL Server

2010-11-12 13:08:36

動態(tài)sql語句

2010-09-06 13:41:42

sql server語句

2010-09-07 14:45:34

sql語句

2010-09-26 15:23:24

SQL語句

2018-12-26 09:25:30

SQL ServerSQL語句數據庫

2011-07-11 09:54:16

DAC登錄觸發(fā)器

2010-10-21 12:16:11

SQL Server查

2010-11-11 11:13:54

SQL Server

2010-09-06 13:34:37

Sql Server語句

2010-09-28 14:06:43

Sql Server表
點贊
收藏

51CTO技術棧公眾號