Python の fetchall()
Python のカーソル
クラスメソッド fetchall()
と、それをアプリケーションで使用して Python のデータベースからデータを取得する方法を示します。
Python で fetchall()
を使用してデータベースからデータを取得する
ほとんどの場合、アプリケーションでデータベースを使用します。データベースは、データを保存するアプリケーションの最も重要な部分です。
Python は、カーソル
を使用してデータベースからデータを取得します。fetchall()
は、特定のクエリのすべての行を取得するために使用される Python のカーソル
メソッドの 1つです。
特定のテーブルのすべてのデータを表示する場合は、fetchall()
メソッドを使用してすべての行をフェッチできます。このメソッドは、タプルのリストを返します。
クエリに行がない場合は、空のリストが返されます。例を見て、サンプルテーブルを作成し、Python のカーソル
メソッドを使用してデータをフェッチしてみましょう。
この例では、MySQL データベースを使用するため、mysql-connector-python
モジュールをインストールする必要があります。ただし、PostgreSQL などの他のデータベースを使用する場合は、Psycopg2
を使用する必要があります。SQLite を使用する場合は、sqlite3
を使用する必要があります。
したがって、次のコマンドを実行して mysql-connector-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