获取数据库中所有表及字段,視图,存储过程

本文介绍如何使用SQLServer的sysobjects表查询数据库的各种对象信息,包括表、存储过程、视图和触发器等,并提供了获取数据库名、表名及字段名的具体SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在SQL Server数据库中每一个数据库都有一个sysobjects系统表,这个表里面存储了当前数据库的所有对象,包括对象表,用户表,视图,触发器,约束,默认值,日志,和存储过程的信。


先列一下这张表的一些字段名:


name  对象名
id       对象标识号
xtype  对象类型
uid      所有者对象的用户ID
parent_obj    父对象的对象标识号
crdate   对象的创建日期
ftcatid    为全文索引注册的所有用户表的全文目录标识符
schema_ver   版本号,
category  用于发布,约束和标识




看上上面的字段你应该已经清楚了吧...
xtype这个字段就是确定对象类型的...


如果你想获取数据库中所有的表信息,你可以写如下的查询语句:
select * from sysobjects where xtype='u'


如果你想获取数据库中所有的存储过程的信息,你可以写如下的查询语句:
select * from sysobjects where xtype='p'


如果你想获取数据库中所有的视图信息,你可以写如下的查询语句:
select * from sysobjects where xtype='v'


如果你想获取数据库中所有的触发器信息,你可以写如下的查询语句:
select * from sysobjects where xtype='tr'


 


获取SQL所有数据库名、所有表名、所有字段名


1.获取所有数据库名: 


Select Name FROM Master..SysDatabases orDER BY Name 


2.获取所有表名: 


Select Name FROM DatabaseName..SysObjects Where XType='U' orDER BY Name 


XType='U':表示所有用户表; 


XType='S':表示所有系统表; 


3.获取所有字段名: 


Select Name FROM SysColumns Where id=Object_Id('TableName') 




方法二。


select   *   from   sys.databases     
       select   *   from   information_schema.tables   
       select   *   from   information_schema.columns where table_name='tablename'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值