Python 中的 fetchall()
我们将演示 Python 的 cursor
类方法 fetchall()
以及如何在应用程序中使用它从 Python 的数据库中检索数据。
在 Python 中使用 fetchall()
从数据库中检索数据
大多数时候,我们在应用程序中使用数据库。数据库是我们存储数据的应用程序中最重要的部分。
Python 使用 cursor
从数据库中检索数据。fetchall()
是 Python 的 cursor
方法之一,用于检索某个查询的所有行。
当我们想要显示某个表中的所有数据时,我们可以使用 fetchall()
方法来获取所有行。此方法返回一个元组列表。
如果查询没有行,它将返回一个空列表。让我们通过一个示例,创建一个示例表,并尝试使用 Python 的 cursor
方法获取数据。
对于这个例子,我们将使用 MySQL 数据库,所以我们必须安装 mysql-connector-python
模块。但是如果你想使用其他数据库,比如 PostgreSQL,你需要使用 Psycopg2
,或者如果你使用 SQLite,你需要使用 sqlite3
。
所以我们将通过运行以下命令来安装 mysql-connector-python
。
# python
pip install mysql-connector-python
让我们在 MySQL 中创建一个新的示例数据库和一个表。
我们的表结构将如下所示。
现在,让我们在其中添加一些演示数据,如下所示。
我们将导入 mysql-connector-python
并在 Python 中的函数内创建数据库连接,如下所示。
# python
import mysql.connector
def getRecords():
try:
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword"
)
mycursor = mydb.cursor()
print("Connected to MySQL")
我们将创建一个 select
查询来从我们的表中获取数据。
# python
query = "SELECT * FROM test"
mydb.commit()
records = mycursor.fetchall()
print("Total rows are: ", len(records))
print("Printing each row")
for row in records:
print("ID: ", row[0])
print("Name: ", row[1])
print("Email: ", row[2])
print("Country: ", row[3])
print("\n")
mycursor.close()
最后,我们将调用我们的函数。
# python
getRecords()
输出:
上面的结果表明,使用 fetchall()
方法可以轻松地从查询中获取所有行。
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn