READ Operation บนฐานข้อมูลหมายถึงการดึงข้อมูลที่มีประโยชน์จากฐานข้อมูล
เมื่อการเชื่อมต่อฐานข้อมูลสำเร็จแล้ว คุณพร้อมที่จะสอบถาม (query) ฐานข้อมูลนี้ คุณสามารถใช้ fetchone() เพื่อดึงระเบียนเดียว หรือ fetchall() เพื่อดึงหลายค่าจากตารางฐานข้อมูล
- fetchone() - ดึงแถวถัดไปของ query result set
- fetchall() - ดึงทุกแถวใน result set
- rowcount - แอตทริบิวต์อ่านอย่างเดียว คืนจำนวนแถวที่ได้รับผลกระทบจาก execute()
ตัวอย่างโค้ด
ขั้นตอนต่อไปนี้สอบถามระเบียนทั้งหมดจากตาราง EMPLOYEE ที่มี salary มากกว่า 1000:
#!/usr/bin/python
import MySQLdb
# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB")
# prepare a cursor object using cursor() method
cursor = db.cursor()
sql = "SELECT * FROM EMPLOYEE \
WHERE INCOME > '%d'" % (1000)
try:
# Execute the SQL command
cursor.execute(sql)
# Fetch all the rows in a list of lists.
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# Now print fetched result
print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
(fname, lname, age, sex, income)
except:
print "Error: unable to fecth data"
# disconnect from server
db.close()
ผลลัพธ์ตัวอย่าง
fname=Mac, lname=Mohan, age=20, sex=M, income=2000