只显示 有数据 的表
时间: 2024-09-27 19:11:53 浏览: 17
如果你想只显示有数据的表,通常数据库系统本身并不直接提供这种功能,因为它们通常是基于静态结构,即表的存在与否并不依赖于其中是否有数据。但是,你可以结合其他信息间接判断,比如检查表的大小或者最近的修改时间。
在MySQL中,虽然没有直接的查询来确定一个表是否为空,你可以估算表大小接近0作为参考,例如:
```sql
SELECT table_name
FROM information_schema.tables
WHERE table_rows = 0;
```
然而这可能并非绝对准确,因为有些数据库可能会保留一些元数据行,使得table_rows看起来非零。
在SQL Server中,你可以尝试获取表的物理文件大小并与数据文件的默认大小进行比较:
```sql
SELECT name AS TableName,
physical_name AS PhysicalName,
size() AS FileSizeKB
FROM sys.objects
WHERE is_ms_shipped = 0 AND type_desc = 'USER_TABLE'
ORDER BY FileSizeKB ASC;
```
这个查询会返回那些文件大小接近0的表。
请注意,这些查询并不能保证100%准确,因为数据量非常小的表也可能由于索引或其他内部机制导致物理大小看上去不为0。
阅读全文