在SQL中,可以使用系统表来查询表占用的空间。不同的数据库管理系统可能有不同的系统表和查询语法,以下是一些常见数据库管理系统的示例:
1. MySQL:
```
SELECT table_name AS '表名',
round(((data_length + index_length) / 1024 / 1024), 2) AS '占用空间(MB)'
FROM information_schema.tables
WHERE table_schema = '数据库名'
AND table_name = '表名';
```
2. Oracle:
```
SELECT segment_name AS "表名",
round((bytes / 1024 / 1024), 2) AS "占用空间(MB)"
FROM user_segments
WHERE segment_type = 'TABLE'
AND segment_name = '表名';
```
3. SQL Server:
```
EXEC sp_spaceused '表名';
```
以上示例中的`数据库名`和`表名`需要替换为实际的数据库名和表名。