浅谈(SQL Server)数据库中系统表的作用

php中文网
发布: 2016-06-07 17:41:52
原创
1703人浏览过

(一)系统表:存储SQL所有的系统信息。存储有关数据库服务中的元数据所谓元数据即(比如数据服务器有哪些用户数据库、数据库服务器有哪些登陆账号,数据库中都

(一)系统表:存储sql所有的系统信息。存储有关数据库服务中的元数据所谓元数据即(比如数据服务器有哪些用户数据库、数据库服务器有哪些登陆账号,数据库中都有哪些表,每个表都有哪些字段 每个数据库有哪些存储过程、视图等等的数据),系统表一般sys开头。

(二)了解数据库中系统表,可以编写sql语句或编程的时候用到。以下场景使用到了系统表

           1、在创建数据库的时候选判断数据库是否存在;创建数据库中对象(表、视图、存储过程、索引等)是否存在,网站空间,存在返回,不存在则执行创建语句。

           2、批量删除数据库中对象,比如一次性删除某个具体数据库中的所有用户创建的表、视图、索引等对象,可以查询系统表中对象然后使用sql语句控制删除。

(三)重要的几个系统表

Sysxlogins:存在与Master数据库中,免备案空间,(所有数据库中用户和角色),记录着所有能登陆到Sql server 的帐号。因为系统表是不允许人工删除的,如想删除则执行sp_configure’allow update’,1

                    不会立即生效,要重启服务或reconfigure with override

sysdatabases:记录着当前系统所有的数据库。只有Master数据中有此系统表。

Systypes(每个数据库都有):存放系统中默认的用户类型和用户自定义的用户类型。

Sysusers:记录每个数据库中的用户和角色。

Sysobjects:在数据库内创建的每个对象(约束、默认、日志、规则、存储过程)在表中占一行。

(四)知道了数据库中系统表,可以在写sql语句或在开发过程中通过sql语句完成以下任务

      1、查询数据库中都有哪些数据库

            select * from dbo.sysdatabases

华友协同办公自动化OA系统
华友协同办公自动化OA系统

华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、

华友协同办公自动化OA系统 0
查看详情 华友协同办公自动化OA系统

       2、查询用户创建的数据库中有哪些用户创建的表

            select * from Sysobjects  where xtype='U'

      3、查询用户创建的数据库中有哪些用户创建的存储过程

            select * from Sysobjects  where xtype='P'

      4、批量生成删除数据库中所有用户表的sql语句

          select 'drop table '+ name  from Sysobjects where xtype='U'

综合以上所述,掌握数据库中系统表,虚拟主机,对于我们sql编程具有很大帮助

广告

titel263

12353

system63

system373

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号