查看SQL Server的表字段类型、长度、描述以及是否可为null

文章目录

本文参考:https://blog.csdn.net/josjiang1/article/details/80558068。
也可以直接点击这里文章链接: sql server查询表结构(字段名,数据类型,长度,描述,是否允许为空,是否为主键)。

初步理解

小步测试

  1. 先查询表的ID
sql 复制代码
use [DBName];
--在数据库的用户表列表sys.objects中查询表的ID
select object_id from sys.objects where name='[tbName]';  
  1. 查询表的信息
sql 复制代码
--查询表的信息:字段名、类型、是否为空
select * from sys.columns where object_id = 645577338;

对于我来说足够了。

组合一下

将上面两句组合一下:

sql 复制代码
use [DBName];
select * from sys.columns where object_id = (select object_id from sys.objects where name='[tbName]');

参考文章有更详细评述

sql 复制代码
use [DBName];
select
col. name  as  ColumnName,
col.max_length  as  DataLength,
col.is_nullable  as  IsNullable,
t. name  as  DataType,
ep.value  as  Description,
(
     select  top  1 ind.is_primary_key  from  sys.index_columns ic
     left  join  sys.indexes ind
     on  ic.object_id=ind.object_id
     and  ic.index_id=ind.index_id
     and  ind. name  like  'PK_%'
     where  ic.object_id=obj.object_id
     and  ic.column_id=col.column_id
)  as  IsPrimaryKey
from  sys.objects obj
inner  join  sys.columns col
on  obj.object_id=col.object_id
left  join  sys.types t
on  t.user_type_id=col.user_type_id
left  join  sys.extended_properties ep
on  ep.major_id=obj.object_id
and  ep.minor_id=col.column_id
and  ep. name = 'MS_Description'
where  obj. name ='[tbName]';

可以读出的更详细

继续理解

得到大部分信息

查询INFORMATION_SCHEMA.COLUMNS里的信息:

sql 复制代码
use [DBName];
SELECT TOP 10 * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '[tbName]';

得到的结果如下:

这些字段的具体含义可以看这里官方文档。

相关推荐
xixingzhe27 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手7 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛7 小时前
MySQL表的连接
数据库·mysql
数字新视界7 小时前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
bksczm8 小时前
MySQL之存储引擎
数据库·mysql
大模型最新论文速读8 小时前
text-to-sql:从学术玩具到生产落地
数据库·sql
ManageEngineITSM9 小时前
工单分类怎么设计?类别、子类别与自动分派的实用方法
大数据·服务器·数据库·人工智能·分类·数据挖掘
ClouGence9 小时前
MongoDB 双向同步如何防止数据循环?(附实操指南)
数据库·mongodb
TDengine (老段)9 小时前
TDengine IDMP 十大实用功能(7)
数据库·物联网·时序数据库·tdengine·涛思数据·工业数据·idmp
Decay__9 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构