转载Sql 获取数据库所有表及其字段名称,类型,长度

转载原地址

http://www.cnblogs.com/Fooo/archive/2009/08/27/1554769.html

SELECT
    (case when a.colorder=1 then d.name else ‘‘ 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 sysproperties g on a.id=g.id AND a.colid = g.smallid   --where d.name=‘child‘
order by a.id,a.colorder
时间: 2024-10-24 00:12:16

转载Sql 获取数据库所有表及其字段名称,类型,长度的相关文章

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

数据库,表,字段,类型等查询

--获取所有数据库名 SELECT Name FROM Master..SysDatabases ORDER BY Name --获取所有表名 XType='U':表示所有用户表; XType='S':表示所有系统表; SELECT Name FROM [GWI-Pay]..SysObjects Where XType='U' ORDER BY Name --获取表中的字段名 SELECT Name FROM SysColumns WHERE id=Object_Id('Order') --获取

7. SQL -- 创建数据库(表,字段)

数据库中的所有数据存储在表中.数据表包括行和列.列决定了表中数据的类型.行包含了实际的数据. 例如,数据库pubs中的表authors有九个字段.其中的一个字段名为为au_lname,这个字段被用来存储作者的名字信息.每次向这个表中添加新作者时,作者名字就被添加到这个字段,产生一条新记录. 通过定义字段,你可以创建一个新表.每个字段有一个名字和一个特定的数据类型(数据类型在后面的"字段类型"一节中讲述),例如字段au_lname存储的是字符型数据.一个字段也可以存储其它类型的数据. 使

PHP获取mysql数据表的字段名称和详细信息的方法

首先我们需要了解下查询MySQL数据库/表相关信息的SQL语句: 代码如下: SHOW DATABASES                                //列出 MySQL Server 数据库.SHOW TABLES [FROM db_name]                    //列出数据库数据表.SHOW CREATE TABLES tbl_name                    //导出数据表结构.SHOW TABLE STATUS [FROM db_na

SQL获取数据库中表的列名和列类型

select column_name as [字段名],data_type as [数据类型] from information_schema.columns where table_name='表名' and data_type<>'xml'

SQL获取数据库名,表名,列名,说明等信息

由于最近工作涉及SQL语句较多,对一些不常见的SQL函数.及存储过程下面进行整理和描述,供大家分享: /************************************************************************************************************** 1.获取所有用户名: islogin='1' :表示帐户 islogin='0' :表示角色 status='2' :表示用户帐户 status='0' :表示系统帐户 **

将数据库所有表和字段首字母变成大写

随着数据库的规模越来越大,数据库的表也有成百上千,如果需要对数据库表名及字段名做操作,单个还好,直接一条语句搞定了,但如果要对整个库的所有表和字段名做操作,那就显得有点麻烦了.因此,我们需要利用sql语句做批量表名字段名修改操作. 首先,来了解一下数据库中读取表名字段名的函数: 1.获取所有数据库名: Select Name FROM Master..SysDatabases 2.获取所有表名: select name from sysobjects where type='U' XType='

mysql高效获取两张表共同字段的交集数据

问题: 例如下面两站表A,B.A表和B表分别有5-10w数据.A表结构如下:id bid name title publisher extraB表结构如下id bid name title publisher A出版社也为很多人出版了书籍,B出版社也为很多人出版了书籍,有sql语句找出这两个出版社为那些人 共同出版书籍,用innerjoin太慢,有没有什么更好的办法? 解答一: 由于不知道你表的索引情况,至于用join还是in和exists不太好说,理论上讲,exists最快.in次之.join

第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍

第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structured Query Language) SOL语句是和DBMS“交谈”专用的语言,不同的DBMS都认SQL语法. Sql中字符串使用单引号:通过写俩个单引号来转义一个单引号. Sql中的注释“——” 单行注释比较好 判断俩个数据是否相等使用=(单等号) 在sql语句中sql代码不区分大小写 SQL主要