用SQL语句来查询表结构!

刚刚在做一个小项目,数据库中一张表有20来个字段,用我以前做的一个.NET实体类生成器一个一个的输入还是闲麻烦,于是打算找个时间来重新的改造一个那个.NET实体类,能够通过选择的数据库及用户表自动生成实体类,而且该实体类还有注释,即字段的说明字段,然后再加一个功能,生成数据库文档,其实也就是把字段字,类型,字段说明输出一个漂亮的表格而已,只要能获取出来生成HTML表格就比较容易了,上网找了一下,得到如下有用的SQL语句:

-- 查询非系统数据库
Select name FROM Master.. SysDatabases where dbid>4

-- 选择water数据库下的所有表
use [water] SELECT name FROM sysobjects WHERE xtype = 'U' Or xtype = 'S'

-- 选择water数据库下的所有用户表
use [water] SELECT name FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0

-- 查询water数据库下的admin表的字段名,长度,类型,字段说明
use [water] SELECT a.[name] as '字段名',a.length '长度',c.[name] '类型',e.value as '字段说明' FROM syscolumns  a 
left   join    systypes    b   on      a.xusertype=b.xusertype 
left     join     systypes     c     on      a.xtype = c.xusertype 
inner   join   sysobjects  d   on      a.id=d.id     and   d.xtype='U' 
left join sys.extended_properties e on a.id = e.major_id and a.colid = e.minor_id and e.name='MS_Description'
where d.name='admin' 

其中sys.extended_properties系统内置视图用于存储字段说明,且只有在MSSQL2005以上才有这张表的,且前面的sys.不能去掉,SQL2000的话字段说明是存在另一个张表里的,表名忘记了,反正我不需要也懒得去查了...
特此记录!!!

时间: 2024-10-26 22:33:11

用SQL语句来查询表结构!的相关文章

一个用来统计相同姓名人数的SQl语句

sql语句查询 表结构是这样: ID 姓名 性别 1 张三 男 2 王四 男 3 丽丽 女 4 张三 男 5 赵柳 男 6 高洁 男 7 王四 女 8 高洁 女 9 张三 女 怎么能用一条SQL语句查询出如下的结果 姓名 人员个数 男人数 女人数 包含ID 张三 3 2 1 1,4,9 王四 2 1 1 2,7 丽丽 1 0 1 3 高洁 2 1 1 6,8 赵柳 1 1 0 5 复制代码 代码如下: SELECT * FROM (SELECT DISTINCT Name,Count(ID) a

一个用来统计相同姓名人数的SQl语句_MsSql

sql语句查询 表结构是这样: ID 姓名 性别 1 张三 男 2 王四 男 3 丽丽 女 4 张三 男 5 赵柳 男 6 高洁 男 7 王四 女 8 高洁 女 9 张三 女 怎么能用一条SQL语句查询出如下的结果 姓名 人员个数 男人数 女人数 包含ID 张三 3 2 1 1,4,9 王四 2 1 1 2,7 丽丽 1 0 1 3 高洁 2 1 1 6,8 赵柳 1 1 0 5 复制代码 代码如下: SELECT * FROM (SELECT DISTINCT Name,Count(ID) a

在 SQL Server 2005 中查询表结构及索引

server|索引 在 SQL Server 2005 中查询表结构及索引 -- 1. 表结构信息查询 -- ========================================================================-- 表结构信息查询 -- 邹建 2005.08(引用请保留此信息)-- ========================================================================SELECT     Tab

Access及SQL Server操作数据库结构的常用SQL语句

access|server|sql|数据|数据库|数据库结构|语句 下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助.内容由海娃整理,不正确与不完整之处还请提出,谢谢. 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default '默认值' null ,[字段2] ntext null ,[字段3] datetime,[字段4] mon

ASP常用的操作数据库结构的SQL语句

sql|数据|数据库|数据库结构|语句 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default '默认值' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,) 删除表:Dr

在SQL Server 2005中查询表结构及索引

server|索引 在 SQL Server 2005 中查询表结构及索引 -- 1. 表结构信息查询 -- ===================================================-- 表结构信息查询-- 邹建 2005.08(引用请保留此信息)-- ====================================================SELECT     TableName=CASE WHEN C.column_id=1 THEN O.name

SQL Server里如何查询表结构

环境:SQL Server 2008 R2 问题:查询表结构命令 对MySQL和Oracle数据库熟悉的朋友知道用desc就可以查询一张表的结构,但是在SQL Server里执行desc命令会报错. desc Student; --关键字 'desc' 附近有语法错误. 现提供两条命令查询表结构: 1.sp_help table_name; 如: sp_help Student; 执行效果如下: 2.sp_columnstable_name; 如: sp_columns Student; 执行效

SQl 语句(常见) 新建,删除,修改表结构(转载)

SQl 语句(常见) 新建,删除,修改表结构 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default '默认值' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,) 删除表

求SQL语句,将多个表合成一个表,每个表的结构不一样。要过滤重复的字段和行

问题描述 求SQL语句,将多个表合成一个表,每个表的结构不一样.要过滤重复的字段和行如:tb1(idintprimarykey,namevarchar(10),titlevarchar(10),)tb2(idint,namevarchar(10),titlevarchar(10),addressvarchar(10)foreignkey(id)referencestb1(id))tb3(idint,namevarchar(10),telvarchar(10),addressvarchar(10)