博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Sql语句查询表结构
阅读量:5066 次
发布时间:2019-06-12

本文共 1923 字,大约阅读时间需要 6 分钟。

关于表结构的查询可以用sp_help,但是查出来的比较凌乱,而且列名还是英文的,不方便拷贝。

自己根据系统表写了一个查询表结构的语句,方便使用

DECLARE @TableName VarChar(1000)SET @TableName = '要查询表结构的表名'SELECT 列名 = a.name ,        类型 = CASE             WHEN b.name = 'numeric' THEN b.name + '(' + CAST(a.xprec AS VarChar(5)) + ', ' + CAST(a.xscale AS VarChar(5)) + ')'             WHEN b.name = 'varchar' THEN b.name + '(' + CAST(a.length AS VarChar(10)) + ')'             WHEN b.name = 'datetime' THEN b.name             WHEN b.name = 'int' THEN b.name             WHEN b.name = 'bit' THEN b.name             WHEN b.name = 'smallint' THEN b.name             END ,        --类型 = b.name ,        --长度 = a.length ,        --精度级别 = a.xprec ,        --小数位数 = ISNULL(a.xscale , '') ,        标识 = CASE WHEN COLUMNPROPERTY(a.id , a.name , 'IsIdentity') = 1 THEN '√' ELSE '' END ,        主键 = CASE WHEN c.name IS NULL THEN '' ELSE '√' END ,        允许空Null = CASE WHEN isnullable = 1 THEN '√' ELSE '' END ,        默认值 = ISNULL(d.text , '') ,        解释说明 = ''FROM syscolumns a     INNER JOIN systypes b ON a.xtype = b.xtype     LEFT JOIN(SELECT d.name , d.id , d.colid               FROM sysobjects a                    INNER JOIN sysindexes b ON a.parent_obj = b.id                                           AND a.name = b.name                                           AND a.xtype = 'PK'                    INNER JOIN sysindexkeys c ON b.id = c.id                                             AND b.indid = c.indid                    INNER JOIN syscolumns d ON c.id = d.id                                           AND c.colid = d.colid               WHERE OBJECT_NAME(a.parent_obj) = @TableName)c ON a.id = c.id                                                             AND a.colid = c.colid     LEFT JOIN syscomments d ON a.cdefault = d.idWHERE OBJECT_NAME(a.id) = @TableNameORDER BY a.colid

  对于查询中用到的一些系统表跟表中的列名的意思,自己去查sql server的联机丛书,相信你能够看明白。

转载于:https://www.cnblogs.com/Home-Root/p/3730189.html

你可能感兴趣的文章
selenium python 安装
查看>>
jQuery dataTable 操作个人使用总结
查看>>
cocoapos错误信息
查看>>
得到链表的中间节点
查看>>
java排序集锦
查看>>
ServletContextListener 解析用法
查看>>
模拟登录
查看>>
Java使用多线程发送消息
查看>>
Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
查看>>
MySQL LIMIT 如何改写成Oracle limit
查看>>
Mysql 中的Text字段的范围
查看>>
安卓SQLiteOpenHelper使用说明
查看>>
a标签样式
查看>>
NYOJ 998
查看>>
关于读完《软件工程》之后不解的问题
查看>>
【Hibernate】could not instantiate class.. from tuple] with root cause
查看>>
关于session
查看>>
JAVA程序通过JNI调用C/C++库
查看>>
javascript中常用数组方法详细讲解
查看>>
[bzoj4922]Karp-de-Chant Number
查看>>