sql表查询列数
‘壹’ 如何通过sql语句查询出表中的列数
是MSSQL SERVER吧,
在MASTER库里或你自己的库里,不是有一些默认的表吗,就是记录这些信息的。记不住了。自己找找看。
‘贰’ 如何在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联机丛书中查询。
‘叁’ sql语句查询一个表的列数
看的出来你初学,可以先看看数据库基础,以EXCEL表格的方法给你讲一遍。
count(name) 查找出来的行数(看成EXCEL中以某一些条件找出来的行数)
syscolumns 表的名字 (看成EXCEL中的工作表A名)
id 表里的一个字段 (看出EXCEL中的某一列)
sysobjects 表的名字 (看成EXCEL中的工作表B名)
xtype='u' 一个字段=U (看出EXCEL中的某一列=U这个字符)
‘肆’ SqlServer如何查询表的列数
select count(name) from syscolumns
where id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看
‘伍’ 如何利用SQL语句查看某一个表全部列或单个列的属性
exec sp_columns 表名 --返回某个表列的信息
exec sp_help 表名 --查看某个表的所有信息
这些是系统的存储过程
例如:
用SQL语句查询一个数据表所有字段的类型可以参考下面的代码:
SELECT
name AS column_name,TYPE_NAME(system_type_id) AS column_type,
(5)sql表查询列数扩展阅读:
更新:update table1 set field1=value1 where 范围
查找:select * from table1 where field1 like ’%value1%’ (所有包含‘value1’这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
‘陆’ sql语句查询表内数据条数
select count(*) from 表名
在sql中会把*解析为相对应的列,我们不建议用*,这样会加重sql负担,这样写才是最好的:select count(列名,一列就行) from 表名。
由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。
(6)sql表查询列数扩展阅读:
sql语言特点:
1、综合统一:
SQL语言集数据定义语言DDL,数据操纵语言DML、数据控制语言DCL的功能于一体
2、高度非过程化:
用SQL语言进行数据操作,只要提出“做什么”,而无需知名”怎么做“,因此无需了解存取路径,存取路径的选择语句SQL的操作过程由系统自动完成
3、面向集合的操作方式
SQL语言才采用集合操作方式,不仅操作对象,查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也就可以是元组的集合
4、以同一种语言结构提供多种使用方式
SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,他能给独立地用户联机交互的使用方式,作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
‘柒’ sql 查询一个表中有多少条数据
1、首先在电脑中打开sql,写上关键字Select后,写上投影列,并且定义数据源,如下图所示。
‘捌’ sql查询结果怎么按指定列数依次排列
with tmp as
(
select row_number() over(order by FENTRYID) rn,FENTRYID
from 表
)
select t1.FENTRYID as FENTRYID1,t2.FENTRYID as FENTRYID2,t3.FENTRYID as FENTRYID3
from tmp t1
left join tmp t2 on t2.rn=t1.rn+1
left join tmp t3 on t3.rn=t1.rn+2
where t1.rn%3=1
order by t1.FENTRYID
这是转成3列的,如果列数要变化,上面的语句要调整
‘玖’ sql怎么查询一个数据库所有表列数
--读取库中的所有表名
select name from sysobjects where xtype='u'
--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
获取数据库表名和字段
sqlserver中各个系统表的作用
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
select 列名=name from syscolumns where id=object_id(N'要查的表名')