SQL SERVER 数据库查询表和字段信息语句
--数据库中所有表的信息(很强悍的)
SELECT
表名 =
CASE
WHEN
A.COLORDER=1
THEN
D.
NAME
ELSE
' '
END
,
表說明 =
CASE
WHEN
A.COLORDER=1
THEN
ISNULL
(F.VALUE,
' '
)
ELSE
' '
END
,
欄位序號 = A.COLORDER,
欄位名 = A.
NAME
,
標識 =
CASE
WHEN
COLUMNPROPERTY( A.ID,A.
NAME
,
'ISIDENTITY '
)=1
THEN
'√ '
ELSE
' '
END
,
主鍵 =
CASE
WHEN
EXISTS(
SELECT
1
FROM
SYSOBJECTS
WHERE
XTYPE=
'PK '
AND
PARENT_OBJ=A.ID
AND
NAME
IN
(
SELECT
NAME
FROM
SYSINDEXES
WHERE
INDID
IN
(
SELECT
INDID
FROM
SYSINDEXKEYS
WHERE
ID = A.ID
AND
COLID=A.COLID)))
THEN
'√ '
ELSE
' '
END
,
類型 = B.
NAME
,
佔用位元組數 = A.LENGTH,
長度 = COLUMNPROPERTY(A.ID,A.
NAME
,
'PRECISION '
),
小數位數 =
ISNULL
(COLUMNPROPERTY(A.ID,A.
NAME
,
'SCALE '
),0),
允許空 =
CASE
WHEN
A.ISNULLABLE=1
THEN
'√ '
ELSE
' '
END
,
預設值 =
ISNULL
(E.TEXT,
' '
),
欄位說明 =
ISNULL
(G.[VALUE],
' '
)
FROM
SYSCOLUMNS A
LEFT
JOIN
SYSTYPES B
ON
A.XUSERTYPE=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
ORDER
BY
A.ID,A.COLORDER
版权声明:本博文原创发表于博客园,作者博客:YuBinfeng's Technology Blog
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?