如何读取表名称?

上海程序员3 2006-02-13 05:33:50
指读取数据库中所有表的名称
还有表的字段名称和类型!

谢谢
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
OracleRoob 2006-02-13
  • 打赏
  • 举报
回复
--引用:邹建

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 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.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
where d.name='tb_goods'
order by a.id,a.colorder
子陌红尘 2006-02-13
  • 打赏
  • 举报
回复
select
a.name 表名,
b.name 列名,
c.name 类型
from
sysobjects a,
syscolumns b,
systypes c
where
a.id=b.id
and
b.xtype=c.xtype
and
a.type='U'
子陌红尘 2006-02-13
  • 打赏
  • 举报
回复
select
a.name 表名,
b.name 列名,
c.name 类型
from
sysobjects a,
syscolumns b,
systypes c
where
a.id=b.id
and
b.xtype=c.xtype
and
a.type='U'
zlp321002 2006-02-13
  • 打赏
  • 举报
回复
--1:获取当前数据库中的所有用户表

select Name from sysobjects where xtype='u' and status>=0

--2:获取某一个表的所有字段

select name from syscolumns where id=object_id(N'表名')

--3:查看与某一个表相关的视图、存储过程、函数

select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like N'%表名%'

--4:查看当前数据库中所有存储过程

select name as 存储过程名称 from sysobjects where xtype='P'

--5:查询用户创建的所有数据库

select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')

或者

select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

--6:查询某一个表的字段和数据类型

select column_name,data_type from information_schema.columns
where table_name = N'表名'
子陌红尘 2006-02-13
  • 打赏
  • 举报
回复
select name from sysobjects where type='U'

select a.name,b.name,b.xtype from sysobjects a,syscolumns b where a.id=b.id and a.type='U'

34,590

社区成员

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

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