使用 fetchone() 和 fetchall() 从数据库中查询数据
fetchone() 和 fetchall() 是 Python MySQL 连接器,它们用于显示数据。此连接器有助于使Python程序能够使用 MySQL 数据库。在下面的代码中,我们使用 MySQL 和Python编写所有查询并从数据库中获取所有数据。
1. Fetchone(): Fetchone() 方法用于只需要从表中检索第一行的情况。该方法只返回定义表的第一行。当我们想要使用 cursor() 方法进行迭代时,也会使用该方法。此方法将光标的位置增加 1,然后返回下一行。
此方法不能用于游标对象,而是我们使用 SQL 语句运行查询,即“SELECT *”,它从表中获取第一行/元组。之后,我们对“SELECT *”语句返回的结果变量使用 fetchone() 方法。现在该方法从该结果中获取第一行。
句法:
row = cursor.fetchone()
使用Python在 Mysql 中使用 fetchone() 的步骤:
- 第一的。导入 MySQL 连接器
- 现在,使用 connect() 方法创建与 MySQL 连接器的连接
- 接下来,使用 cursor() 方法创建一个游标对象
- 现在使用带有 execute() 方法的“SELECT *”语句创建并执行查询以检索数据
- 对结果变量使用 fetchone() 方法。
- 打印结果
例子:
假设有一个名为“CUSTOMERS”的表,并且只想从中检索第一行,所以我们必须运行以下代码。
Python
# Program to display the data
import mysql.connector
mydb = mysql.connector.connect(
host = "localhost",
user = "yourusername",
password = "yourpass",
database = "yourdatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM CUSTOMERS")
result = mycursor.fetchone()
print(result)
Python
# Program to display the data
import mysql.connector
mydb = mysql.connector.connect(
host = "localhost",
user = "yourusername",
password = "yourpass",
database = "yourdatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM CUSTOMERS")
# This SQL statement selects all data from the CUSTOMER table.
result = mycursor.fetchall()
# Printing all records or rows from the table.
# It returns a result set.
for all in result:
print(all)
输出:
2. Fetchall(): Fetchall() 是一种从表中获取最后执行语句的所有剩余元组的方法(返回元组列表)。该方法仅返回定义表的第一行,如果没有元组,则在输出中返回一个空列表。
此方法不能用于游标对象,而是我们使用 SQL 语句运行查询,即“SELECT *”,它从表中获取所有行/元组。之后,我们对“SELECT *”语句返回的结果变量使用 fetchall() 方法。
句法:
row = cursor.fetchall()
使用Python在 Mysql 中使用 fetchall() 的步骤:
- 第一的。导入 MySQL 连接器
- 现在,使用 connect() 方法创建与 MySQL 连接器的连接
- 接下来,使用 cursor() 方法创建一个游标对象
- 现在使用带有 execute() 方法的“SELECT *”语句创建并执行查询以检索数据
- 对结果变量使用 fetchall() 方法。
- 使用 for 每个循环打印结果以显示所有
例子:
假设有一个名为“CUSTOMERS”的表,想要从中检索所有行,我们必须运行以下代码。
Python
# Program to display the data
import mysql.connector
mydb = mysql.connector.connect(
host = "localhost",
user = "yourusername",
password = "yourpass",
database = "yourdatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM CUSTOMERS")
# This SQL statement selects all data from the CUSTOMER table.
result = mycursor.fetchall()
# Printing all records or rows from the table.
# It returns a result set.
for all in result:
print(all)
输出: