2013-10-25 32 views

回答

1

如果您使用的是SqlServer。

SELECT obj.name, cols.name as columnname 
from dbname.sys.objects as obj 
inner join dbname.sys.columns as cols 
on obj.object_id = cols.object_id 
where obj.type='U' 
1

這是一個低音查詢,可以列出SQL服務器中的列和表中的信息。只需從每個系統表中添加所需的列。

SELECT 
    t.name table_name, 
, c.name column_name 
From sys.tables AS t 
Inner Join sys.columns c 
    On t.Object_ID = c.Object_ID 
+0

我試了一下。當我執行查詢,我可以看到每個表和它的列,但沒有定義的表和它的列的一部分,即使我開始寫選擇* ... –

+0

嗯,不知道那些如果不是那些表保存在那裏。看看這裏,看看這是否有幫助。 http://social.msdn.microsoft.com/Forums/sqlserver/en-US/9eaa58b6-6024-4925-858c-a31a919696af/how-to-get-column-description-of-a-table-in-sql- server-2000-programmatically?forum = sqldocumentation – asantaballa

0

試試這個:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS 

OR

更詳細的表信息

EXEC sp_help [Your Table_Name] 
+0

我試過了,我收到很多關於表格和列的信息,但是沒有定義信息.. –

+0

@Taha Karaca ...你說什麼期望定義? –

+0

表及其欄目描述我想列出 –

1

試試這個來獲得SQL表的定義...

sp_help將 '表名'

例如sp_help 'MyTable'

我們也可以做

exec sp_help 'MyTable' 

因爲sp_help將是一個預先定義存儲處理器,我們可以執行存儲處理器同樣的事情使用「exec」關鍵字或者也可以使用「執行「關鍵字

0

如果您正在尋找擴展的描述:

SELECT 
    OBJECT_NAME(major_id) TableName,(select name from sys.columns c where c.object_id=major_id and c.column_id=minor_id) ColumnName,* 
FROM 
    sys.extended_properties 
WHERE 
    name='MS_Description' AND minor_id>0 and class=1