文章主要給大家介紹了關于SQL Server中Table字典數據的查詢SQL的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
前言
在數據庫系統原理與設計(第3版)教科書中這樣寫道:
數據庫包含4類數據:
1.用戶數據
2.元數據
3.索引
4.應用元數據
其中,元數據也叫數據字典,定義如下:
下面這篇文章就來給大家分享一個關于查詢SQL Server Table 結構的SQL 語句。
T-SQL 如下:
SELECT
(
case
when
a.colorder=1
then
d.
name
else
''
end
) 表名,
a.colorder 字段序號,a.
name
字段名,
(
case
when
a.colorder=1
then
isnull
(f.value,
''
)
else
''
end
) 表說明,
(
case
when
COLUMNPROPERTY( a.id,a.
name
,
'IsIdentity'
)=1
then
'1'
else
'0'
end
)標識,
(
case
when
(
SELECT
count
(*)
FROM
sysobjects
WHERE
(
name
in
(
SELECT
name
FROM
sysindexes
WHERE
(id = a.id)
AND
(indid
in
(
SELECT
indid
FROM
sysindexkeys
WHERE
(id = a.id)
AND
(colid
in
(
SELECT
colid
FROM
syscolumns
WHERE
(id = a.id)
AND
(
name
= a.
name
)))))))
AND
(xtype =
'PK'
))>0
then
'1'
else
'0'
end
) 主鍵,b.
name
類型,a.length 占用字節數,
COLUMNPROPERTY(a.id,a.
name
,
'PRECISION'
)
as
長度,
isnull
(COLUMNPROPERTY(a.id,a.
name
,
'Scale'
),0)
as
小數位數,(
case
when
a.isnullable=1
then
'1'
else
'0'
end
) 允許空,
isnull
(e.text,
''
) 默認值,
isnull
(g.[value],
' '
)
AS
[說明]
FROM
syscolumns a
left
join
systypes b
on
a.xtype=b.xusertype
inner
join
sysobjects d
on
a.id=d.id
and
d.xtype=
'U'
and
d.
name
<>
'dtproperties'
left
join
syscomments e
on
a.cdefault=e.id
left
join
sys.extended_properties g
on
a.id=g.major_id
AND
a.colid=g.minor_id
left
join
sys.extended_properties f
on
d.id=f.major_id
and
f.minor_id=0
--where b.name is not null
WHERE
d.
name
=
'DBA_Server'
--如果只查詢指定表,加上此條件,此案例為表DBA_Server
order
by
a.id,a.colorder
查詢出的結果如下:
總結
以上就是這SQL Server中Table字典數據的查詢SQL示例代碼文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家的支持。
分享到:
投訴收藏