sql-MS SQL怎么根据表名查询表中的字段相关信息

问题描述

MS SQL怎么根据表名查询表中的字段相关信息

MS SQL怎么根据表名查询表中的字段相关信息,包括字段的名称,类型,备注信息

 select syscolumns.name,systypes.name as type,(select isnull(value,'')
from sys.extended_properties ex_p where ex_p.minor_id=0 and ex_p.major_id=sysobjects.id) as TableDemo
 ,ext.value as colName from syscolumns
                     INNER   JOIN  sysobjects  ON   syscolumns.id  =  sysobjects.id
                    INNER   JOIN   systypes   ON   syscolumns.xtype   =   systypes.xtype
                    INNER join sys.extended_properties as ext on ext.major_id=sysobjects.id
                    and ext.minor_id=syscolumns.colorder WHERE   (sysobjects.name = 'tf_site') AND (systypes.name<>'sysname')

为什么上面这个代码读取不出来呢?

请大神帮助下,要字段有备注或没有备注时都能查询出来,谢谢!

解决方案

select syscolumns.name,
systypes.name as type,
(select isnull(value, '')
from sys.extended_properties ex_p
where ex_p.minor_id = 0
and ex_p.major_id = sysobjects.id) as TableDemo,
ext.value as colName
from syscolumns
INNER JOIN sysobjects /* 内连接*/
ON syscolumns.id = sysobjects.id
INNER JOIN systypes
ON syscolumns.xtype = systypes.xtype
INNER join sys.extended_properties as ext /* 内连接*/
on ext.major_id = sysobjects.id
and ext.minor_id = syscolumns.colorder
WHERE (sysobjects.name = 'tf_site')
AND (systypes.name <> 'sysname')

时间: 2024-12-31 05:33:40

sql-MS SQL怎么根据表名查询表中的字段相关信息的相关文章

sql 查询所有数据库、表名、表字段总结

查询所有表: select id,name from sysobjects where type= 'u' order by name 查询所有数据库: use master select name from sysdatabases order by name 查询表中所有字段: select name from syscolumns where id = (select id from sysobjects where type = 'u' and name = '表名')

输入字段名 查询表中是否存在该字段名?

问题描述 输入字段名查询表中是否存在该字段名?用c#如何编写程序啊最好写在类里 解决方案 解决方案二:try{sql="SELECT字段FROM表";conn.ExcuteNonQuery();}catch(sqlExceptionexp){//没有字段就会出异常的} 解决方案三:selectname,object_name(id)fromsyscolumns解决方案四:所有的表名,字段名,存储过程名,Index名,都可以在数据库中查到,涉及到几个系统表,比如SysColumns,Sy

如何得到数据库中所有表名 表字段及字段中文描述_MsSql

在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下: 如下代码能正常运行,都是网上查找资料最后拼凑总结出来的.条件就自己加吧.网上好像也有不少类型的东西,这里留着以备不时只需! 复制代码 代码如下: SELECT (case when a.colorder=1 then d.name else '' end) N'表名', a.colorder N'字段序号', a.name N'字段名', (case when COLUMNPROPERTY( a.id,a.na

蛙蛙推荐:怎样获取一个表中所有字段的信息

先创建一个视图 Create view fielddesc    asselect o.name as table_name,c.name as field_name,t.name as type,c.length as length,c.isnullable as isnullable,convert(varchar(30),p.value) as desp from syscolumns c  join systypes t on c.xtype = t.xusertypejoin syso

权限表-MySQL5.7中authentication_string字段的编码方式

问题描述 MySQL5.7中authentication_string字段的编码方式 MySQL5.7中的authentication_string字段替换了5.6版本以前的user权限表中Password字段,我想请问一下,这个字段的编码方式是什么?我设置的密码是"12345678",,如何编码会出现如图所示的序列,附上图: 解决方案 应该是把密码算了hash等 不用明文了

查询表中某字段有重复记录个数的方法_MsSql

--查出表中有重复的id的记录,并计算相同id的数量select id,count(id) from @table group by id having(count(id)>1)   其中,group by id,是按id字段分组查询: select id,count(id) from @table group by id 可以得到各不同id的数量合计   having(count(id)>1)判断数量大于1,也就是有重复id的记录

查询表中某字段有重复记录个数的方法

--查出表中有重复的id的记录,并计算相同id的数量select id,count(id) from @table group by id having(count(id)>1) 其中,group by id,是按id字段分组查询: select id,count(id) from @table group by id 可以得到各不同id的数量合计 having(count(id)>1)判断数量大于1,也就是有重复id的记录

Oracle SQL Server MySQL查看当前所有数据库表名及其他信息

环境:Oracle 11g + SQLServer 2008 R2 + MySQL 5.1 Oracle: 1. 查看当前库的所有数 据表 select * from all_tables; select table_name from all_tables; select table_name from user_tables; select table_name from all_tables where owner='用户名'; 2. 查看表结构 desc 表名 : SQLServer:

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名.字段名的实例代码,在SQLserver 中进行了测试,具体内容如下: --查询所有用户表所有字段的特征 SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, CASE WHEN EXISTS (SELECT 1 FROM dbo.sysobjects