--查询表结构信息
--邹老大的
 
(1)
SELECT 
表名=case when a.colorder=1 then else '' end,
表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
字段序号=a.colorder,
字段名=,
标识=case when COLUMNPROPERTY( ,,'IsIdentity')=1 then '√'else '' end,
主键=case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj= and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = AND colid=a.colid
))) then '√' else '' end,
类型=,
占用字节数=a.length,
长度=COLUMNPROPERTY(,,'PRECISION'),
小数位数=isnull(COLUMNPROPERTY(,,'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 =d.id  and d.xtype='U' and  <>'dtproperties'
left join syscomments e on a.cdefault=e.id
left join sysproperties g on = and a.colid=g.smallid  
left join sysproperties f on d.id= and f.smallid=0
--where ='要查询的表'    --如果只查询指定表,加上此条件
order by ,a.colorder
 
(2)
 
SQL2000系统表的应用 
--1:获取当前数据库中的所有用户表
 
select Name from sysobjects where xtype='u' and status>=0
 
--2:获取某一个表的所有字段
 
select name from syscolumns where id=object_id('表名')
 
--3:查看与某一个表相关的视图、存储过程、函数
 
select a.* from sysobjects a, syscomments b where = and b.text like '%表名%'
 
--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 = '表名' 
 
--7:取得表字段的描述
select name, 
(select value from sysproperties where id = and smallid=syscolumns.colid) as 描述
from syscolumns where id=object_id('表名')