查询有某个字段的所有表的语句

分享到:

2023-02-12 17:12:23

查询有某个字段的所有表的语句
select name from sysobjects where id in(select id from syscolumns where name='字段名称')

2、查询指定表student中所有字段

select *  from syscolumns where id=(select id from sysobjects where name  ='student')

select * from syscolumns where id=object_id('student')

3、查询当前数据库中的所有字段
select *  from syscolumns


—系统工具
–查询当前数据库中所有表名 xtype=‘U’:表示所有用户表,xtype=‘S’:表示所有系统表。
SELECT * FROM sysobjects WHERE xtype = ‘U’;
SELECT * FROM sysobjects WHERE xtype = ‘S’;
 
–查询指定表中的所有字段名 id 等于 sysobjects的ID
SELECT * FROM syscolumns WHERE Id = ‘107141’;
 
–查询数据库中所有的表名及行数
SELECT a.name, b.rows
FROM sysobjects AS a
INNER JOIN sysindexes AS b ON a.id = b.id
WHERE (a.type = ‘u’) AND (b.indid IN (0, 1))
ORDER BY a.name,b.rows DESC
 
–查询所有的标明及空间占用量\行数
select
object_name(id) tablename,
8reserved/1024 reserved,
rtrim(8dpages)+‘kb’ used,
8*(reserved-dpages)/1024 unused,
8dpages/1024-rows/1024minlen/1024 free,
rows
from sysindexes
where indid=1
ORDER BY used DESC
–order by used,tablename,reserved desc


SQL数据库中常用的几个系统表
 
1、sysobjects
系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等
 
sysobjects 重要字段解释:
 
sysObjects (
  Name sysname,      --object 名称
  id   int,          --object id
  xtype char(2),     -- object 类型  
  type  char(2),     -- Object 类型(与xtype 似乎一模一样? 有点郁闷…) 
  uid   smallint,     -- object 所有者的ID
  ...                --其他的字段不常用到。  
)
 
注:需要解释的是 xtype 和type 是一模一样的,他的数据为:
 
C = CHECK 约束 
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束 
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束 
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表 
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
 
该表中包含该数据库中的所有对象,如有那些表 存储过程 视图  等信息
 
 
2、sysColumns   数据库字段表。 当前数据库的所有字段都保留在里面。 
 
重要字段解释:
 
sysColumns (
  name     sysname,   --字段名称
  id       int,        --该字段所属的表的ID
  xtype    tinyInt,    --该字段类型,关联sysTypes表
  length   smallint,   --该字段物理存储长度
  ...
)
 
比如要查询某一个张表的有那些字段和这些字段的长度
       3、sysUsers
 
当前数据库的系统组,以及用户。
 
sysUsers(
  uid smallint,       --用户id
  name smallint ,     --名称
  uid  varbinary(85) , --属于一个登陆
  ....
)
 
对数据库的用户进行管理
 
4、sysdenpends
当前数据库的依赖关系。   比如 我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下.那些视图 函数 存储过程调用了这个表的
这样在修改后就可以修改的视图 函数 存储过程,
 
一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了
声明:此篇为用友服务中心文章,转载请标明出处链接:
  • 相关文章
  • 热门下载
  • 数据修复
  • 热门标签
合作伙伴