Gary Holiday
Gary Holiday

Reputation: 3582

Select single item in MYSQLdb - Python

I've been learning Python recently and have learned how to connect to the database and retrieve data from a database using MYSQLdb. However, all the examples show how to get multiple rows of data. I want to know how to retrieve only one row of data.

This is my current method.

cur.execute("SELECT number, name FROM myTable WHERE id='" + id + "'")
results = cur.fetchall()
number = 0
name = ""
for result in results:
    number = result['number']
    name = result['name']

It seems redundant to do for result in results: since I know there is only going to be one result.

How can I just get one row of data without using the for loop?

Upvotes: 12

Views: 10269

Answers (2)

levi
levi

Reputation: 22697

use .pop()

if results:
   result = results.pop() 
   number = result['number']
   name = result['name']

Upvotes: 1

alecxe
alecxe

Reputation: 474021

.fetchone() to the rescue:

result = cur.fetchone()

Upvotes: 17

Related Questions