扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
今天就跟大家聊聊有关Sql Server各系统表说明及使用方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联公司长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为达坂城企业提供专业的成都网站制作、成都做网站,达坂城网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
我们平时写一般的SQL语句的时候,可能不会用到系统表,不过在一些特殊的情况下就会用到了,比如说在系统运用的时候,我们根据日期动态创建的数据表,如果要从里面获取数据的时候最好需要加上判断这个表是否存在,如果存在我们就从表里面取数据,如果不存在就跳出。
我们先介绍一下各个系统表的作用,后面再取几个例子来说明用法。
SQL系统表
sysaltfiles 主数据库 保存数据库的文件
syscharsets 主数据库 字符集与排序顺序
sysconfigures 主数据库 配置选项
syscurconfigs 主数据库 当前配置选项
sysdatabases 主数据库 服务器中的数据库
syslanguages 主数据库 语言
syslogins 主数据库 登陆帐号信息
sysoledbusers 主数据库 链接服务器登陆信息
sysprocesses 主数据库 进程
sysremotelogins 主数据库 远程登录帐号
syscolumns 每个数据库 列
sysconstrains 每个数据库 限制
sysfilegroups 每个数据库 文件组
sysfiles 每个数据库 文件
sysforeignkeys 每个数据库 外部关键字
sysindexs 每个数据库 索引
sysmenbers 每个数据库 角色成员
sysobjects 每个数据库 所有数据库对象
syspermissions 每个数据库 权限
systypes 每个数据库 用户定义数据类型
sysusers 每个数据库 用户
代码演示
1.判断数据表存在
我们要从数据库里查询付款流水的信息,付款流水表默认的是txsPayFlow表,后面的tXsPayFlow$201805是代表2018年5月的付款流水,这个表是每个月自动创建的,所以如果我们要查2018年5月的销售时就要从代年月的分割表里查询。
正常来说我们查一下18年5月的流水直接就写
因为我们的软件里没有做6月的月结,所以6月的表没创建,如果我们这里要查6月的数据,用上面的方法会直接报错了
这个时候我们的系统表就起到作用了,上面写到sysobjects可以看到数据库的对象,所以我们首先判断这个表是否在系统里存在,如果存在取数据,不存在输出无此表信息。
这样代码就可以正常运行了。
2.给数据表里增加字段
一般我们程序升级的时候,数据库有可能也会增加字段,为了多次执行不报错,我们在添加字段的时候就需要判断表里面是否有这个字段。
判断我们要增加字段的表里是否有这个字段用到了sysobjects,syscolumns这两个表,通过两个表里的ID关联,来判断是否有我们要增加的列
例:我们要在balance表里面增加一个sflag的列。
通过关联查询我们可以看到系统表里的列
这样我们写增加一个sflag的列的代码
当执行完第一次时,下面提示的命令已成功完成,我们从数据库里已经看到了列也增加了
然后我们再执行一次
下面的提示里面就告诉我们列已经存在了。
看完上述内容,你们对Sql Server各系统表说明及使用方法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流