如何统计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>"; } ?>
这段代码的逻辑很直观:
- 先执行
INNER JOIN关联查询,拉取usertable和passbook表的关联数据; - 用
mysqli_num_rows($result)直接拿到结果集的总行数并输出; - 最后通过
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
相关产品推荐
相关产品推荐

