已知数据库表名,如何获取字段名

waynege 2004-08-31 04:19:20
已知数据库的表名为tableName;
不知道该表有多少字段,每个字段的名称又是什么,
请问该如何获取?
若想获取字段属性,又该怎么做?

多谢各位大虾指点先。
...全文
212 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
宇君 2005-04-18
  • 打赏
  • 举报
回复
做个记号,大家顶
walkonthesky 2004-09-08
  • 打赏
  • 举报
回复
mark
yjdn 2004-09-08
  • 打赏
  • 举报
回复
select a.name,b.name,a.length,a.isnullable from syscolumns a,systypes b where a.id=object_id('表名') and a.usertype=b.usertype
changlin365 2004-09-08
  • 打赏
  • 举报
回复
ding
zjcxc 2004-08-31
  • 打赏
  • 举报
回复
--显示指定表的表结构信息,sysobjects 是要显示的表名
exec sp_columns 'sysobjects'
yesterday2000 2004-08-31
  • 打赏
  • 举报
回复
select a.name from syscolumns a,sysobjects b where a.id=b.id and b.name='tableName'

字段属性就是看邹建的了
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 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 sysproperties g on a.id=g.id and a.colid=g.smallid
left join sysproperties f on d.id=f.id and f.smallid=0
--where d.name='tableName--如果只查询指定表,加上此条件
order by a.id,a.colorder

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧