今天在技术群中闲谈时忽然聊到一个问题,那就是当一个数据库中有多张表时怎么快速的获取到表的个数,从而给问询者一个准确的回答。
大家或许会说,这个问题和我们的数据库操作没有太大关系或者不是很挂钩,所以没意义记住它。不过,大家要记住,对熟悉数据库的人来说确实如此,但是要是不懂数据库的,比如说你的老板,闲着无聊的时候想知道这个项目的数据库有多少张表,以便了解下这个项目的复杂度,那时又你该咋办了?想回答又不能快速回答上来,找个理由不回答又灭了你在老板面前的威风。
为避免这样的问题真的出现在我们可怜的码农身上,IT博客总结几种方法:
一、sql语句查询
sql server 2005
SELECT * FROM sysobjects WHERE (xtype = 'U')
查询当前数据库下所有用户建立的表
效果如下图所示:
解释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 = 扩展存储过程
ORACLE
select * from user_tables
二、视图查询
以下是sql server 2005的窗体,其余的以操作界面为主,同事在软件的对象管理器中也同样可以统计。