Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Thao tác READ cơ sở dữ liệu trong Python


Thao tác READ trên bất kỳ cơ sở dữ liệu nào có nghĩa là lấy thông tin hữu ích từ cơ sở dữ liệu.

Khi kết nối cơ sở dữ liệu được thiết lập, bạn sẵn sàng thực hiện truy vấn vào cơ sở dữ liệu này. Bạn có thể sử dụng phương thức fetchone() để lấy một bản ghi đơn lẻ hoặc phương thức fetchall() để lấy nhiều giá trị từ bảng cơ sở dữ liệu.

  • fetchone() - Lấy hàng tiếp theo của tập kết quả truy vấn. Tập kết quả là đối tượng được trả về khi đối tượng con trỏ được dùng để truy vấn bảng.
  • fetchall() - Lấy tất cả các hàng trong tập kết quả. Nếu một số hàng đã được trích xuất, nó lấy các hàng còn lại.
  • rowcount - Thuộc tính chỉ đọc, trả về số hàng bị ảnh hưởng bởi phương thức execute().

Ví dụ

Quy trình sau truy vấn tất cả bản ghi từ bảng EMPLOYEE có lương lớn hơn 1000:

#!/usr/bin/python
import MySQLdb

# Mở kết nối cơ sở dữ liệu
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB")

# Chuẩn bị đối tượng con trỏ sử dụng phương thức cursor()
cursor = db.cursor()

sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > '%d'" % (1000)

try:
    # Thực thi lệnh SQL
    cursor.execute(sql)
    # Lấy tất cả hàng trong danh sách các danh sách
    results = cursor.fetchall()
    for row in results:
        fname = row[0]
        lname = row[1]
        age = row[2]
        sex = row[3]
        income = row[4]
        # In kết quả lấy được
        print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
              (fname, lname, age, sex, income)
except:
    print "Error: unable to fetch data"

# Ngắt kết nối từ máy chủ
db.close()

Đầu ra

Điều này sẽ cho kết quả sau:

fname=Mac, lname=Mohan, age=20, sex=M, income=2000