如何在sqlserver中获取表的所有列信息

如题所述

microsoft sql server management studio中展开对应表下面的列信息不就可以看到列的详细信息了么?当然这是可以的,但这里我们主要讲的时如何利用sql语句来查询指定表的列信息。

利用sql语句来查询列信息,就是要用到系统视图sys.columns,这个视图记录了数据库中所有表,视图,表值函数等的所有列信息。我们可以利用语句select * from sys.columns来查看这个视图返回的信息。
sys.columns返回的列比较多,大部分情况下很多列的信息我们可能用不到,下面我们只解释一下比较常用的列的信息。

1,object_id--这个列是比较重要的,它是返回当前列所属表的ID。利用它,我们就可以查询指定表的所有列信息,比如下面的sql语句是查询表table1的所有列信息。

select * from sys.columns where object_id=object_id('table1')

2,name--该列的列名。
3,column_id--该列在数据库中的ID,注意,数据库中任何对象的ID都是唯一的。
4,system_type_id--该列的类型的ID,和下面max_length,precision,scale三列一起可以来举个示例。
5,max_length--该列的最大长度
6,precisionp--如果这列是数值列,那么这是该列的精度,否则就是0
7,scale--如果这列是数值列,那么这就是列的小数位数,否则就是0

system_type_id,max_length,precision,scale四列结合系统视图sys.types一起我们来举个示例。
如果我们要查询表table1的所有列,及列的类型,列的精度,列的小数位数,sql语句如下:

select a.name,b.name,a.max_length,a.precision,a.scale
from sys.columns a left join sys.types b on a.user_type_id=b.user_type_id
where a.object_id=object_id('table1')

8,is_nullable--该列是否可以为null
9,is_identity--该列是否是标识列
10,is_computed--该列是否是计算列。利用该列,我们也就可以查询某个表的所有计算列了,比如我们要查询表table1中的所有计算列,sql语句如下:

select * from sys.columns where object_id=object_id('table1') and is_computed=1

sys.columns视图中常用的列就是这10列了,其它列的信息大家可以到SQLServer 2005联机丛书中查询
温馨提示:内容为网友见解,仅供参考
无其他回答

如何在sqlserver中获取表的所有列信息
利用sql语句来查询列信息,就是要用到系统视图sys.columns,这个视图记录了数据库中所有表,视图,表值函数等的所有列信息。我们可以利用语句select * from sys.columns来查看这个视图返回的信息。sys.columns返回的列比较多,大部分情况下很多列的信息我们可能用不到,下面我们只解释一下比较常用的列的信...

如何在sqlserver中查找某个表所有字段值
查询 MySql 数据库中所有表名:select table_name from information_schema.tables where table_schema='当前数据库名' and table_type='base table';查询 MySql 指定数据库中指定表的所有字段名:select column_name from information_schema.columns where table_schema='当前数据库名' and table_name=...

用sql语句怎么查一个表的信息
1、查询”user_user“表中所有人员信息且所有字段,sql语句:select * from user_user 2、查询”user_use“表中所有人员信息且部分字段。sql语句:select user_show_id,user_name,pinyin,password from user_user 3、条件查询”user_user“表,以user_name为查询条件查询所有信息。sql语句:select * ...

获取一个数据表所有字段名的SQL怎么写
1、查看所有字段语法:select from 表名。这里的*号表示的所有字段;如图所示 2、直接修改表也可以看见所有表中的字段名,选中所要查看字段的数据表“右键”-“修改”。

请教sql语句如何取得一个表中的列名,数据类型,及长度?
sql server 的 系统存储过程 sp_help,可以直接获取 例: sp_help a ,获取表a的结构及自增ID状态等等。 本回答由电脑网络分类达人 赵康勇推荐 举报| 答案纠错 | 评论 1 10 hy1397471 | 程序员 向TA咨询 擅长: 软件应用 其他回答 1,可以通过sys.columns,syscolumns视图查看关于字段的所有信息,如select name...

在sqlserver2000中怎么查表的列名并按在表中的顺序显示?
--通过如下语句得到当前Sql server中所有的数据的名称:use master select [name] from [sysdatabases] order by [name]go -- 查询数据库中的所有用户表 use [DBname]select [id], [name] from [sysobjects] where [type] = 'u' order by [name]--通过上面的查询的id,可以查出这个表中所有...

如何查询sql server数据库中的数据
1、首先双击“Management Studio”图标,打开SQL Server。2、继续在SQL Server窗口上,点击工具栏里的“新建查询”图标。3、其次在SQL Server窗口上,输入要查询sql server数据库中的数据的sql语句。4、然后在SQL Server窗口上,点击工具栏里的“执行”图标。5、最后在SQL Server窗口上,成功显示sql ...

sql查询数据库中有某个值的所有表
1、首先在电脑中打开Microsoft SQL Server,查询所有数据库。2、查询当前数据库中所有表名。说明:xtype='U':表示所有用户表,xtype='S':表示所有系统表。3、查询指定表中的所有字段名。4、然后查询指定表中,所有字段名和字段类型。5、接着获取主键字段,获取数据库所有类型,就完成了。

sql server 怎么查询数据字段说明?
SQL Server的注释属于扩展属性,可以从sys.extended_properties视图中查看 SELECT * FROM sys.extended_properties WHERE major_id=OBJECT_ID('WMSBASCUS')结果是WMSBASCUS表所有列的注释信息 minor_id是列的Id,可以从sys.columns中查看表的列id 通过sys.extended_properties和sys.columns进行关联可以查看...

用SQL语句统计一个表有多少列
SQL SERVER:select NAME from syscolumns where id = OBJECT_ID('表名');所有列名称,select count(*) from syscolumns where id = OBJECT_ID('表名');列的数量 ORACLE:用户名和表名都大写 select column_name,data_type from all_tab_columns where owner='用户名' and table_name='表名';...

相似回答