zoukankan      html  css  js  c++  java
  • MSSQL三个关键系统表sysdatabases,sysobjects,syscolumns作用分析(转)

    一、分析MSSQL三个关键系统表.

    sysdatabases

    MSSQL中对sysdatabases系统表  的说明:
    Microsoft  SQL  Server  上的每个数据库在表中占一行。最初安装  SQL  Server  时,sysdatabases  包含  master、model、msdb、mssqlweb  和  tempdb  数据库的项。该表只存储在  master  数据库中。

    这个表保存在master数据库中,这个表中保存的是什么信息呢?这个非常重要。他是
    保存了,所有的库名,以及库的ID,和一些相关信息。
    这里我把对于我们有用的字段名称和相关说明给大家列出来.看好咯!

    name  dbid
    //表示库的名字.  //表示库的ID.

    dbid从1到5是系统的。分别是:master、model、msdb、mssqlweb、tempdb  这五个库.

    我们利用SQL语句:select  *  from  master.dbo.sysdatabases  就可以查询出所有的库名.

    sysobjects

    MSSQL中对sysobjects系统表的说明:  (西安禾丰http://www.hf1997.com/).
    在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在  tempdb  内,每个临时对象才在该表中占一行。

    这个是列出数据库对象的系统表。当然数据库表名也在里面的.
    这里我就为大家列出一些对我们有用的字段名称和相关说明.
    name  id  xtype  uid
    对象名.  对象ID  对象类型  所有者对象的用户ID。

    对象类型(xtype)。可以是下列对象类型中的一种:
    C  =  CHECK  约束
    D  =  默认值或  DEFAULT  约束
    F  =  FOREIGN  KEY  约束
    L  =  日志
    FN  =  标量函数
    IF  =  内嵌表函数
    P  =  存储过程
    PK  =  PRIMARY  KEY  约束(类型是  K)
    RF  =  复制筛选存储过程
    S  =  系统表
    TF  =  表函数
    TR  =  触发器
    U  =  用户表
    UQ  =  UNIQUE  约束(类型是  K)
    V  =  视图
    X  =  扩展存储过程

    当然我们这里只用得到xtype=“U“的值。当等于U的时候,对象名就是表名,对象ID就是表的ID值.

    我们利用SQL语句:  select  *  from  ChouYFD.dbo.sysobjects  where  xtype=“U“  这样就可以列出库名称是:ChouYFD中所有的表名.

    syscolumns

    SQL中syscolumns系统表的说明:
    每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。

    这个就是列出一个表中所有的字段列表的系统表。
    这里我就为大家列出一些对我们有用的字段名称和相关说明:
    name  id  colid
    //字段名称  //表ID号.  字段ID号.

    其中的  ID  是  刚上我们用sysobjects得到的表的ID号.
    我们利用SQL语句:  select  *  from  ChouYFD.dbo.syscolumns  where  id=123456789  得到ChouYFD这个库中,表的ID是123456789中的所有字段列表.




  • 相关阅读:
    Java MyBatis 插入数据库返回主键
    FISCO-BCOS平台共识
    分布式一致性协议介绍(Paxos、Raft)
    分布式问题分析
    分布式基础知识
    比特币编译(Ubuntu 16.04)
    比特币源代码分析(1)
    c++中的多线程
    剑指offer中数据结构与算法部分学习
    基础的语法知识汇总
  • 原文地址:https://www.cnblogs.com/MayGarden/p/2222875.html
Copyright © 2011-2022 走看看