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