Pythonでの単一レコードの取得
テーブルから1つのレコードのみを取得する必要がある場合、
ループで取得するとコードが冗長になります。
この問題を解決するには、fetchoneメソッドを
使用する必要があります。
query = "SELECT * FROM users WHERE id=2"
with connection.cursor(dictionary=True) as cursor:
cursor.execute(query)
result = cursor.fetchone()
print(result)
コードを実行すると、1つのレコードのみが表示されます。
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
次に、クエリ内で複数のレコードが一致する条件を 設定してみましょう。
query = "SELECT * FROM users WHERE salary>500"
with connection.cursor(dictionary=True) as cursor:
cursor.execute(query)
result = cursor.fetchone()
print(result)
この場合、指定された条件に一致する最初のレコードのみが 表示されます。
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
年齢が25歳以上のユーザーを1人選択してください。
年齢が30歳未満で、かつ給与が500より多い
ユーザーを1人選択してください。