mysql实用

一、获取l数据库中所有表的记录数
  

方法一:使用原生 SQL 查询 information_schema(推荐)

这是最高效的方法,因为它不需要先获取表名再循环查询,而是直接查询数据库的元数据。
注意:此方法获取的 TABLE_ROWS 是近似值(对于 InnoDB 引擎),但在数据量巨大时性能极高。

1. 获取每个表的记录数
php

use think\Db;

// 假设你的数据库配置名为 'database',请根据实际情况修改
$dbName = '你的数据库名'; 
// 查询所有表的名称和行数
$list = Db::query("SELECT table_name, table_rows FROM information_schema.tables WHERE table_schema = '$dbName' AND table_type = 'BASE TABLE'");
dump($list);

2. 获取所有表的总记录数(求和)

如果你只需要一个总的数字,可以使用 SUM 函数:
php
use think\Db;

$dbName = '你的数据库名';

// 计算所有表行数之和
$result = Db::query("SELECT SUM(table_rows) as total_count FROM information_schema.tables WHERE table_schema = '$dbName' AND table_type = 'BASE TABLE'");

// 输出结果
echo "数据库总记录数约为:" . $result[0]['total_count'];
posted @ 2026-04-27 16:24  bwteacher  阅读(17)  评论(0)    收藏  举报