如何使用一条说语句查询数据库,
表名,字段,数据类型,字节,是否为空`高手帮帮忙`
表名,字段,数据类型,字节,是否为空`高手帮帮忙`
解决方案 »
- 想要学习SQLSERVER存储过程,有什么好书,大家介绍一下哈
- Management Studio Express CTP 咋不支持让查询分析器中输入的关键字自动从小写转为大写?
- 直接在sql 数据库中如何执行一次性更改一个表中的某些字段的值?
- 急!!! 这个SQL该怎么写?马上结贴
- sqlservr.exe是什么进程?
- [急!急!急!]SQL按行遍历
- select中怎么进行判断计算
- 急!!我的win98个人版db2一运行控制中心就出现:[ibm][jdbc Driver]CLI0622E存取JDBC管理服务扩展名时出错。
- 总数据库/分数据库?
- 求助(SQL里SELECT后出来的数据如何赋值给变量)
- 这几种更新记录的方法,哪种更好?
- SQL中如何使distinct显示所有字段?
select * from syscolumns--查所有用户表信息
select * from sysobjects where type='U'
表名 = 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 parent_obj=a.id 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='要查询的表' --如果只查询指定表,加上此条件
order by
a.id,a.colorder
表名,字段,数据类型,字节,是否为空`
sp_help jobs
/*Name Owner jobs dbo user table 2000-08-06 01:33:52.983
Column_name Type Computed Length Prec Scale Nullable TrimTrailingBlanks FixedLenNullInSource Collation
job_id smallint no 2 5 0 no (n/a) (n/a) NULL
job_desc varchar no 50 no no no Chinese_PRC_CI_AS
min_lvl tinyint no 1 3 0 no (n/a) (n/a) NULL
max_lvl tinyint no 1 3 0 no (n/a) (n/a) NULL
Identity Seed Increment Not For Replication
-------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- ---------------------------------------- -------------------
job_id 1 1 0
RowGuidCol No rowguidcol column defined.
Data_located_on_filegroup
PRIMARY
index_name index_description index_keys
PK__jobs__117F9D94 clustered, unique, primary key located on PRIMARY job_id
constraint_type constraint_name delete_action update_action status_enabled status_for_replication constraint_keys
CHECK on column max_lvl CK__jobs__max_lvl__145C0A3F (n/a) (n/a) Enabled Is_For_Replication ([max_lvl] <= 250)
CHECK on column min_lvl CK__jobs__min_lvl__1367E606 (n/a) (n/a) Enabled Is_For_Replication ([min_lvl] >= 10)
DEFAULT on column job_desc DF__jobs__job_desc__1273C1CD (n/a) (n/a) (n/a) (n/a) ('New Position - title not formalized yet')
PRIMARY KEY (clustered) PK__jobs__117F9D94 (n/a) (n/a) (n/a) (n/a) job_id
Table is referenced by foreign key
pubs.dbo.employee: FK__employee__job_id__1BFD2C07Table is referenced by views
*/
这个够简单的吧
用 sp_help 表名可查看这个表的表名,字段,数据类型,字节,是否为空,约束,排序规则等
--获得所有表的情况
SELECT
(case when a.colorder=1 then d.name else '' end) N'表名',
a.colorder N'字段序号',
a.name N'字段名',
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else ''
end) N'标识',
(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) N'主键',
b.name N'类型',
a.length N'占用字节数',
COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
(case when a.isnullable=1 then '√'else '' end) N'允许空',
isnull(e.text,'') N'默认值'
--isnull(g.[value],'') AS N'字段说明'
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 object_name(a.id),a.colorder