sql工具:一条sql语句,查询sql server某个指定表的所有列及其属性 .

简介: 摘自:http://blog.csdn.net/keenweiwei/article/details/6859490  1 SELECT 2 C.name as [字段名],T.
摘自: http://blog.csdn.net/keenweiwei/article/details/6859490 
 1 SELECT
 2      C.name as [字段名],T.name as [字段类型]
 3      ,convert(bit,C.IsNullable)  as [可否为空]
 4      ,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in (
 5          SELECT name FROM sysindexes WHERE indid in(
 6              SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) then 1 else 0 end) 
 7                  as [是否主键]
 8      ,convert(bit,COLUMNPROPERTY(c.id,c.name,'IsIdentity')) as [自动增长]
 9      ,C.Length as [占用字节] 
10      ,COLUMNPROPERTY(C.id,C.name,'PRECISION') as [长度]
11      ,isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as [小数位数]
12      ,ISNULL(CM.text,'') as [默认值]
13      ,isnull(ETP.value,'') AS [字段描述]
14      --,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
15 FROM syscolumns C
16 INNER JOIN systypes T ON C.xusertype = T.xusertype 
17 left JOIN sys.extended_properties ETP   ON  ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description' 
18 left join syscomments CM on C.cdefault=CM.id
19 WHERE C.id = object_id('tblAddressBook')

 

(运行环境:sql server 2008)  以上是中文作为列名,以下是英文作为列名,注意: 把 tblAddressBook 换成你要查询的表名就OK了
 1 SELECT
 2      C.name as FieldName,T.name as TypeName
 3      ,C.IsNullable  
 4      ,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in (
 5          SELECT name FROM sysindexes WHERE indid in(
 6              SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) then 1 else 0 end 
 7                  as IsPrimary
 8      ,COLUMNPROPERTY(c.id,c.name,'IsIdentity') as IsIdentity
 9      ,C.Length as ByteLength 
10      ,COLUMNPROPERTY(C.id,C.name,'PRECISION') as StringLength
11      ,isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as DotPrecision
12      ,ISNULL(CM.text,'') as DefaultValue
13      ,isnull(ETP.value,'') AS [Description]
14      --,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
15 FROM syscolumns C
16 INNER JOIN systypes T ON C.xusertype = T.xusertype 
17 left JOIN sys.extended_properties ETP   ON  ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description' 
18 left join syscomments CM on C.cdefault=CM.id
19 WHERE C.id = object_id('tblAddressBook')

        
附查询图片一张:

相关文章
|
6月前
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
6月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
6月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
7月前
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
446 18
|
5月前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
334 0
|
6月前
|
SQL Web App开发 安全
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
370 0
SQL Server 2025 年 9 月更新 - 修复 CVE-2025-47997 SQL Server 信息泄露漏洞
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1122 152
|
6月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
861 156
|
6月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
588 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
11月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。