如何查找数据库中表的字段?哪几个表中存在字段“Name”?

FoxLinn 2010-12-25 03:25:22
如题。有一个数据库,包含上百张表,现在想知道以下几点:
1、如何知道每张表包括哪些字段名?
2、如何知道某一个字段,比如Name,会在哪些表中存在?

...全文
107 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
daishaodong 2010-12-25
  • 打赏
  • 举报
回复
也可以参考:
关于搜索多个表中字段的问题
http://topic.csdn.net/u/20101030/12/d03fa4a0-71d5-401e-ac36-d9dfd9eafabb.html?15651
rucypli 2010-12-25
  • 打赏
  • 举报
回复
syscolumns
-晴天 2010-12-25
  • 打赏
  • 举报
回复
--1.
select a.name as tablename,b.name as columnname
from sysobjects a inner join syscolumns b on a.id=b.id
where a.type='U'
--2.
select a.name as tablename
from sysobjects a inner join syscolumns b on a.id=b.id
where a.type='U' and b.name='name'
永生天地 2010-12-25
  • 打赏
  • 举报
回复
经常看到的一句
SELECT 

(case when a.colorder=1 then d.name else '' end)表名,

a.colorder 字段序号,

a.name 字段名,

(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' 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 '√' else '' 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 '√'else '' 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 sysproperties g

on a.id=g.id AND a.colid = g.smallid

order by a.id,a.colorder

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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