You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何统计MySQL中的数据行数?附PHP实现代码示例

如何统计MySQL数据库中的数据行数?

要统计MySQL里的数据行数,得看你具体的使用场景,下面分享两种常用的实现方式:

场景1:统计查询结果集的行数(比如关联查询后的结果)

如果是在PHP中用mysqli扩展操作数据库,可以通过mysqli_num_rows()函数直接获取查询结果的行数。这里给你一个完整的示例代码:

<?php 
// 假设$sql是已经建立好的数据库连接实例
$query = "SELECT usertable.id, name, username, dateofbirth, user_id 
          FROM usertable 
          INNER JOIN passbook ON passbook.user_id = usertable.id "; 
$result = mysqli_query($sql, $query); 

// 统计结果集的总行数
$rowcount = mysqli_num_rows($result); 
printf("Result set has %d rows.\n", $rowcount); 

// 循环遍历结果集,把数据渲染成表格行
while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row["id"] . "</td>"; 
    echo "<td>" . $row["name"] . "</td>"; 
    echo "<td>" . $row["dateofbirth"] . "</td>"; 
    echo "<td>" . $row["username"] . "</td>"; 
    echo "<td>" . $row["user_id"] . "</td>"; 
    echo "</tr>"; 
}
?>

这段代码的逻辑很直观:

  1. 先执行INNER JOIN关联查询,拉取usertable和passbook表的关联数据;
  2. 用mysqli_num_rows($result)直接拿到结果集的总行数并输出;
  3. 最后通过mysqli_fetch_array()循环遍历结果集,把每条数据渲染成HTML表格的行。

场景2:直接统计单表的总行数

如果你只是想统计某张表的所有行数,不需要返回具体数据,更高效的方式是用COUNT(*)来查询——这种方式数据库不需要返回所有数据,只返回计数结果,性能会好很多:

<?php
// 假设$sql是已建立的数据库连接实例
$query = "SELECT COUNT(*) AS total_rows FROM usertable";
$result = mysqli_query($sql, $query);
$row = mysqli_fetch_assoc($result);

echo "usertable表总共有 " . $row['total_rows'] . " 行数据";
?>

内容的提问来源于stack exchange,提问作者Priyanka Banerjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:46:24