SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
来源:互联网 发布:编程c图形库砖块金字塔 编辑:程序博客网 时间:2024/05/01 18:32
1.查询数据库中的所有数据库名:
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.查询某个数据库中所有的表名:
SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用户表;
XType='S':表示所有系统表;
3.查询表结构信息:
获取所有字段名:
SELECT Name FROM SysColumns WHERE id=Object_Id('TableName') ;
SELECT (case when a.colorder=1 then d.name else null 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 sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
where b.name is not null
--WHERE d.name='要查询的表' --如果只查询指定表,加上此条件
order by a.id,a.colorder
SELECT Name FROM Master..SysDatabases ORDER BY Name
2.查询某个数据库中所有的表名:
SELECT Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用户表;
XType='S':表示所有系统表;
3.查询表结构信息:
获取所有字段名:
SELECT Name FROM SysColumns WHERE id=Object_Id('TableName') ;
SELECT (case when a.colorder=1 then d.name else null 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 sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
where b.name is not null
--WHERE d.name='要查询的表' --如果只查询指定表,加上此条件
order by a.id,a.colorder
0 0
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER 2008 如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQLSERVER获取数据库中的所有表的名称、表中所有字段的名称
- 获取SQL数据库中某个表中的所有字段名称的通用方法
- 如何获取数据库中所有表的名称
- python读取xml数据库中表内所有数据,获取数据库中所有表的字段名称
- 获取 SqlServer 所有数据库的名称
- 取数据库所有表的名称及指定表中所有字段的名称SQL
- SQL Server 2008中获取数据库所有表及其字段名称、类型、长度的SQL
- SQL Server 中获取数据库所有表及其字段名称、类型、长度的SQL
- AbstractFactory
- 转载自http://blog.csdn.net/fei20072050104/article/details/21785565
- lesson20:
- 学了一段时间的C#,只是想记录一下~用字典实现字符串转换为汉字
- OC内存管理(ARC)
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- 第十六周OJ项目——指针引出奇数因子
- java.sql.SQLSyntaxErrorException: ORA-00907: 缺失右括号
- csapp2e homework 2.77
- 第十六周项目一-数组的排序
- 深入浅出REST
- poj 2411 Mondriaan's Dream
- MAC上的PHP工作环境搭建
- 'telent' 不是内部或外部命令,也不是可运行的程序或批处理文件。