(Sponsors) Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
MySQLdb Fetching results
Updated on Jan 07, 2020
In the previous post we have seen how to execute sql queries using execute()
method. The execute()
method returns affected rows, it doesn't return the result. To fetch result we use the fetchall()
method of the cursor object.
Syntax: cursor.fetchall()
On success it returns tuple of rows where each row is a tuple.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
number_of_rows = cursor.execute("select * from city");
result = cursor.fetchall()
print(result)
db.close()
|
The above code will print all the rows in the city table.
You can also use for loop to iterate over the results.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
number_of_rows = cursor.execute("select * from city");
result = cursor.fetchall()
for row in result:
print(row)
db.close()
|
Some more examples.
Example 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
id = 10
operation = ">"
sql = "select * from city where id {} {}".format(operation, id)
number_of_rows = cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row[0], row[1])
db.close()
|
Example 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from __future__ import print_function
import MySQLdb as my
db = my.connect(host="127.0.0.1",
user="root",
passwd="",
db="world"
)
cursor = db.cursor()
city = "%pur%"
sql = "select * from city where name like '{}'".format(city)
number_of_rows = cursor.execute(sql)
result = cursor.fetchall()
for row in result:
print(row[0], row[1])
db.close()
|
In the next post, we discuss how to insert rows into the database.
Other Tutorials (Sponsors)
This site generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!
View Comments