技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

如何在 Python 中计算 MySQL 表中的行数?

pythonserver side programmingprogrammingmysql

计算 MySQL 表中的行数是使用数据库时常见的操作。在 Python 中,您可以使用 MySQL Connector 模块建立与 MySQL 数据库的连接并执行 SQL 查询以从表中获取数据。使用 Python 计算 MySQL 表中的行数有多种不同的方法,您选择的方法取决于项目的具体要求。

本文将指导您如何获取数据库中特定 MySQL 表中的行数。首先,我们将与所需 MySQL 表所在的数据库建立连接。

要使用 Python 计算 MySQL 表中的行数,您需要执行 SQL SELECT 语句来从表中提取所有行。

考虑下面显示的 SQL 查询。

select * from <tableName>

获得行后,您可以使用游标对象的 rowcount 属性来确定查询返回的行数。或者,您可以使用 SQL 中的 COUNT() 函数直接计算表中的行数,并使用 Python 检索结果。

在本文中,我们将首先探索一个名为 insillion 的数据库,其中我们将有一个名为 bikes 的表,其中包含 4 行数据。

作为参考,请按顺序考虑下面显示的查询。

选择特定数据库

use insillion

选择特定数据库后,我们需要选择要在其上运行查询的特定表。

考虑下面显示的 SQL 命令。

select * from bikes;

输出

一旦我在本地 MySQL 上运行上述命令,我就会得到以下输出。

mysql> select * from bikes;
+----+-------+-------+
| id | name  | price |
+----+-------+-------+
|  1 | Bajaj |  2543 |
|  2 | KTM   |  4789 |
|  3 | TVS   |  2790 |
|  4 | Hero  |  2100 |
+----+-------+-------+

从上面的输出中,您可以清楚地看到我们的 bikes 表中有 4 行数据。

现在让我们关注 Python 示例,我们将使用两种不同的方法来计算 bikes 表中的行数。

使用 pymysql 和 mysqldb

pymysql mysqlclient 是两个用于连接和与 MySQL 数据库交互的流行 Python 库。

  • pymysql 是 MySQL 客户端-服务器协议的纯 Python 实现,这意味着它不需要任何外部库或依赖项。

  • mysqlclient 是基于 MySQL C API 的 MySQL 数据库的 Python 接口。它提供了比 pymysql 更快、更高效的实现。

考虑下面显示的代码。此代码导入 pymysql 和 MySQLdb 模块以将 Python 与 MySQL 数据库连接,使用指定的凭据建立数据库连接,检索游标对象以与数据库交互,执行 SQL 查询以获取表中的行数,并打印行数。

# 导入所需模块
import pymysql
pymysql.install_as_MySQLdb()
import MySQLdb

# 使用您的主机名、
# 用户名、密码和数据库将 python 与 mysql 连接起来
db= MySQLdb.connect(host='localhost', user='root', password='yourpassword'', database='insillion')

# 获取游标对象
cursor= db.cursor()

# 获取表中的行数并在查询中为您的表
# 命名
number_of_rows = cursor.execute("SELECT * FROM bikes")

# 打印行数
print("行数为:" ,number_of_rows)

要运行上述代码,我们首先需要在我们的机器上安装 pymysqlmysqlclient 库,为此我们可以使用显示的命令下面。

pip3 install pymysql
pip3 install mysqlclient

输出

现在,执行代码,您将获得以下输出:

Number of rows are: 4

使用 mysql-connector

mysql-connector-python 是一个 Python 库,它提供了用于连接和与 MySQL 数据库交互的接口。它是 MySQL 客户端-服务器协议的纯 Python 实现,这意味着它不需要任何外部库或依赖项。

考虑下面显示的代码。

import mysql.connector

# 建立与 MySQL 数据库的连接
with mysql.connector.connect(
    host="localhost",
    user="root",
    password="domain@immukul",
    database="insillion"
) as conn:

# 创建一个游标对象来与数据库交互
with conn.cursor() as cursor:

# 执行一个 SQL 查询,计算表中的行数
cursor.execute("SELECT COUNT(*) FROM bikes")

# 获取查询结果
result = cursor.fetchone()

# 结果是一个包含一个元素的元组,其中包含计数
row_count = result[0]

print("表中的行数:", row_count)

要运行上述代码,我们首先需要在我们的机器上安装 mysql-connector-pythonmysqlclient 库,为此我们可以使用下面显示的命令。

pip3 install mysql-connector-python

输出

执行后,您将获得以下输出:

Number of rows are: 4

结论

总之,在 Python 中计算 MySQL 表中的行数是一项简单的任务,可以使用各种方法完成。三种主要方法是使用 rowcount() 方法、执行 SQL 查询以检索行数以及使用 SELECT COUNT(*) 语句。

可以使用 pymysql、mysqlclient、mysql-connector-python 等 Python 库连接 MySQL 数据库,执行行计数操作。


相关文章