天天看點

查sqlserver表結構說明的方法

一、查出某個庫的所有表名

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<code>USE database_name</code>

<code>GO</code>

<code>SELECT</code> <code>tab.</code><code>name</code>        <code>AS</code> <code>tableName</code>

<code>FROM</code>   <code>sys.columns col</code>

<code>       </code><code>INNER</code> <code>JOIN</code> <code>sys.tables tab</code>

<code>               </code><code>ON</code> <code>col.object_id = tab.object_id</code>

<code>       </code><code>LEFT</code> <code>JOIN</code> <code>sys.extended_properties per</code>

<code>              </code><code>ON</code> <code>col.column_id = per.minor_id</code>

<code>                 </code><code>AND</code> <code>per.major_id = tab.object_id</code>

<code>       </code><code>INNER</code> <code>JOIN</code> <code>sys.types type</code>

<code>               </code><code>ON</code> <code>col.user_type_id = type.user_type_id</code>

<code>group</code> <code>by</code> <code>tab.</code><code>name</code> 

<code>ORDER</code>  <code>BY</code> <code>tab.</code><code>name</code>

二、查出某個庫的所有字段說明

15

16

17

18

19

<code>SELECT</code> <code>tab.</code><code>name</code>        <code>AS</code> <code>tableName,</code>

<code>       </code><code>col.</code><code>name</code>        <code>AS</code> <code>column_name,</code>

<code>       </code><code>per.value       </code><code>AS</code> <code>column_comment,</code>

<code>       </code><code>col.is_identity </code><code>AS</code> <code>column_key,</code>

<code>       </code><code>type.</code><code>name</code>       <code>AS</code> <code>data_type,</code>

<code>   </code><code>col.max_length  </code><code>AS</code> <code>column_length</code>

<code>ORDER</code>  <code>BY</code> <code>tab.</code><code>name</code><code>,</code>

<code>          </code><code>col.is_identity </code><code>DESC</code>

二、查出某個庫的所有字段說明(查出資料詳細格式化版)

20

21

22

23

24

25

26

27

<code>SELECT</code>     

<code>        </code><code>表名=</code><code>case</code> <code>when</code> <code>a.colorder=1 </code><code>then</code> <code>d.</code><code>name</code> <code>else</code> <code>''</code> <code>end</code><code>,    </code>

<code>        </code><code>表說明=</code><code>case</code> <code>when</code> <code>a.colorder=1 </code><code>then</code> <code>isnull</code><code>(f.value,</code><code>''</code><code>) </code><code>else</code> <code>''</code> <code>end</code><code>,    </code>

<code>        </code><code>字段序号=a.colorder,    </code>

<code>        </code><code>字段名=a.</code><code>name</code><code>,    </code>

<code>        </code><code>辨別=</code><code>case</code> <code>when</code> <code>COLUMNPROPERTY( a.id,a.</code><code>name</code><code>,</code><code>'IsIdentity'</code><code>)=1 </code><code>then</code> <code>'√'</code><code>else</code> <code>''</code> <code>end</code><code>,    </code>

<code>        </code><code>主鍵=</code><code>case</code> <code>when</code> <code>exists(</code><code>SELECT</code> <code>1 </code><code>FROM</code> <code>sysobjects </code><code>where</code> <code>xtype=</code><code>'PK'</code> <code>and</code> <code>name</code> <code>in</code> <code>(    </code>

<code>            </code><code>SELECT</code> <code>name</code> <code>FROM</code> <code>sysindexes </code><code>WHERE</code> <code>indid </code><code>in</code><code>(    </code>

<code>                </code><code>SELECT</code> <code>indid </code><code>FROM</code> <code>sysindexkeys </code><code>WHERE</code> <code>id = a.id </code><code>AND</code> <code>colid=a.colid    </code>

<code>            </code><code>))) </code><code>then</code> <code>'√'</code> <code>else</code> <code>''</code> <code>end</code><code>,    </code>

<code>        </code><code>類型=b.</code><code>name</code><code>,    </code>

<code>        </code><code>占用位元組數=a.length,    </code>

<code>        </code><code>長度=COLUMNPROPERTY(a.id,a.</code><code>name</code><code>,</code><code>'PRECISION'</code><code>),    </code>

<code>        </code><code>小數位數=</code><code>isnull</code><code>(COLUMNPROPERTY(a.id,a.</code><code>name</code><code>,</code><code>'Scale'</code><code>),0),    </code>

<code>        </code><code>允許空=</code><code>case</code> <code>when</code> <code>a.isnullable=1 </code><code>then</code> <code>'√'</code><code>else</code> <code>''</code> <code>end</code><code>,    </code>

<code>        </code><code>預設值=</code><code>isnull</code><code>(e.text,</code><code>''</code><code>),    </code>

<code>        </code><code>字段說明=</code><code>isnull</code><code>(g.[value],</code><code>''</code><code>)    </code>

<code>      </code><code>FROM</code> <code>syscolumns a    </code>

<code>        </code><code>left</code> <code>join</code> <code>systypes b </code><code>on</code> <code>a.xtype=b.xusertype    </code>

<code>        </code><code>inner</code> <code>join</code> <code>sysobjects d </code><code>on</code> <code>a.id=d.id  </code><code>and</code> <code>d.xtype=</code><code>'U'</code> <code>and</code>  <code>d.</code><code>name</code><code>&lt;&gt;</code><code>'dtproperties'</code>    

<code>        </code><code>left</code> <code>join</code> <code>syscomments e </code><code>on</code> <code>a.cdefault=e.id    </code>

<code>   </code> 

<code>  </code><code>left</code> <code>join</code> <code>sys.extended_properties g </code><code>on</code> <code>a.id=g.major_id </code><code>AND</code> <code>a.colid = g.minor_id    </code>

<code>        </code><code>left</code> <code>join</code> <code>sys.extended_properties f </code><code>on</code> <code>d.id=f.major_id </code><code>and</code> <code>f.minor_id=0    </code>

<code>     </code><code>order</code> <code>by</code> <code>a.id,a.colorder</code>

 本文轉自 獨孤環宇 51CTO部落格,原文連結:http://blog.51cto.com/snowtiger/1929112