如何查询某个数据库的某个表字段

我用的是server 2008 ,请问如何查询某个数据库中所有的表,还有表中的字段,比如数据库名叫BIRD,里面的表有很多,比如表A,B,C,D,E,想一步查出所有表的字段并显示出来.如果大家还有什么其他基础的2008的知识,也麻烦告诉一下。
不需要把表名列出来,我只是假设。而且一楼的不能运行啊。

--查询所有表名
select name from dbo.sysobjects where xtype='u' and (not name LIKE 'dtproperties')

--查询所有表的所有字段名
SELECT dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name
FROM dbo.syscolumns INNER JOIN
dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id
WHERE(dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties'))

--查询指定表的所有字段名
SELECT dbo.sysobjects.name as Table_name, dbo.syscolumns.name AS Column_name
FROM dbo.syscolumns INNER JOIN
dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id
WHERE dbo.sysobjects.name='表名'and (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name LIKE 'dtproperties'))
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27
select b.name 表名,a.name 字段名 from syscolumns a join sysobjects b on a.id=b.id where b.xtype = 'U'

xtype 是表的性质,U是用户表,系统表是S追问

请问能不能直接查出某个表中,所有的字段还有字段的值呢?

追答

select * from 表名
你这个问法有点问题,字段下面对应的值会有N个,有多少条记录就有多少个值
能否确切说明你要达到什么效果呢

本回答被提问者和网友采纳
第2个回答  推荐于2016-10-14
有两种方法:
1.select b.name 表名,a.name 字段名 from syscolumns a join sysobjects b on a.id=b.id where b.xtype = 'U'

2.select [name] from sysobjects where id in(select id from syscolumns Where name='字段名')
第3个回答  2011-03-28
2008没用过,不懂!不过我觉得应该和2003或者2005是一样的操作,因为他们都使用的SQL语句,变化应该不是很大!
第4个回答  2011-03-28
use BIRD
select * from A,B,C,D,E from tableName
相似回答