怎么用sql语句查询一个数据库有多少张表

时间:2022-12-11 17:21:01

今天在技术群中闲谈时忽然聊到一个问题,那就是当一个数据库中有多张表时怎么快速的获取到表的个数,从而给问询者一个准确的回答。

大家或许会说,这个问题和我们的数据库操作没有太大关系或者不是很挂钩,所以没意义记住它。不过,大家要记住,对熟悉数据库的人来说确实如此,但是要是不懂数据库的,比如说你的老板,闲着无聊的时候想知道这个项目的数据库有多少张表,以便了解下这个项目的复杂度,那时又你该咋办了?想回答又不能快速回答上来,找个理由不回答又灭了你在老板面前的威风。

为避免这样的问题真的出现在我们可怜的码农身上,IT博客总结几种方法:

一、sql语句查询

sql server 2005

SELECT * FROM sysobjects WHERE (xtype = 'U')

查询当前数据库下所有用户建立的表

效果如下图所示:

怎么用sql语句查询一个数据库有多少张表

解释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的窗体,其余的以操作界面为主,同事在软件的对象管理器中也同样可以统计。

怎么用sql语句查询一个数据库有多少张表