仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 577|回复: 7
打印 上一主题 下一主题

[学习教程] 怎样在sqlserver中猎取表的一切列信息

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
php本地模拟的prepare底层就是mysql_real_escape_string,所以必须得用mysql_set_character_set去设置mysql->charset,否则就存在字符集问题。大概有伴侣要说了,这还不复杂,在企业办理器或microsoftsqlservermanagementstudio中睁开对应表上面的列信息不就能够看到列的具体信息了么?固然这是能够的,但这里我们次要讲的时怎样使用sql语句来查询指定表的列信息。

使用sql语句来查询列信息,就是要用到体系视图sys.columns,这个视图纪录了数据库中一切表,视图,表值函数等的一切列信息。我们能够使用语句select*fromsys.columns来检察这个视图前往的信息。
sys.columns前往的列对照多,年夜部分情形下良多列的信息我们大概用不到,上面我们只注释一下对照经常使用的列的信息。

1,object_id--这个列是对照主要的,它是前往以后列所属表的ID。使用它,我们就能够查询指定表的一切列信息,好比上面的sql语句是查询表table1的一切列信息。
select*fromsys.columnswhereobject_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语句以下:
selecta.name,b.name,a.max_length,a.precision,a.scale
fromsys.columnsaleftjoinsys.typesbona.user_type_id=b.user_type_id
wherea.object_id=object_id(table1)

8,is_nullable--该列是不是能够为null
9,is_identity--该列是不是是标识列
10,is_computed--该列是不是是盘算列。使用该列,我们也就能够查询某个表的一切盘算列了,好比我们要查询表table1中的一切盘算列,sql语句以下:
select*fromsys.columnswhereobject_id=object_id(table1)andis_computed=1

sys.columns视图中经常使用的列就是这10列了,别的列的信息人人能够到SQLServer2005联机丛书中查询。两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
爱飞 该用户已被删除
沙发
发表于 2015-1-18 12:00:33 | 只看该作者
如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。
活着的死人 该用户已被删除
板凳
发表于 2015-1-25 21:31:56 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
小魔女 该用户已被删除
地板
发表于 2015-2-4 07:13:35 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
小妖女 该用户已被删除
5#
发表于 2015-2-27 18:30:26 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
小女巫 该用户已被删除
6#
发表于 2015-3-9 11:58:02 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
只想知道 该用户已被删除
7#
发表于 2015-3-16 22:49:42 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
莫相离 该用户已被删除
8#
发表于 2015-3-23 07:31:56 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表