01/08/2019, 16:49

Lệnh SELECT MySQL trong Python

Previous Câu lệnh SELECT được sử dụng để đọc các giá trị từ cơ sở dữ liệu. Nội dung chính: Phương thức fetchall() Phương thức fetchone() Định dạng kết quả Phương thức fetchall() Python cung cấp phương thức fetchall() trả về dữ liệu được lưu trữ ...

Previous

Câu lệnh SELECT được sử dụng để đọc các giá trị từ cơ sở dữ liệu.

Nội dung chính:

  • Phương thức fetchall()
  • Phương thức fetchone()
  • Định dạng kết quả

Phương thức fetchall()

Python cung cấp phương thức fetchall() trả về dữ liệu được lưu trữ bên trong bảng dưới dạng các hàng. Chúng ta có thể lặp lại kết quả để có được các hàng riêng lẻ.

Ví dụ 1

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB")

#tạo đối tượng cursor
cur = myconn.cursor()

try:
    # select dữ liệu từ database
    cur.execute("SELECT * FROM Employee")
    
    # tìm nạp các hàng từ đối tượng con trỏ  
    result = cur.fetchall()

    for x in result:
        print(x); 

except:
    myconn.rollback()

myconn.close()

Kết quả:

('The Mac', 10001, 25000.0, 101, 'Hanoi')
('Vinh', 10002, 26000.0, 101, 'Hanoi')
('Trung', 10003, 26000.0, 102, 'Danang')
('Tân', 10004, 10000.0, 101, 'Hanoi')
('Quân', 10005, 30000.0, 103, 'HCM')

Ví dụ 2: đọc cột cụ thể

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB")

#tạo đối tượng cursor
cur = myconn.cursor()

try:
    # select dữ liệu từ database
    cur.execute("SELECT name, id, salary FROM Employee")
    
    # tìm nạp các hàng từ đối tượng con trỏ  
    result = cur.fetchall()

    for x in result:
        print(x); 

except:
    myconn.rollback()

myconn.close()

Kết quả:

('The Mac', 10001, 25000.0)
('Vinh', 10002, 26000.0)
('Trung', 10003, 26000.0)
('Tân', 10004, 10000.0)
('Quân', 10005, 30000.0)

Phương thức fetchone()

Phương thức fetchone() được sử dụng để chỉ tìm nạp một hàng từ bảng. Phương thức fetchone () trả về hàng tiếp theo của tập kết quả.

Ví dụ:

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB")

#tạo đối tượng cursor
cur = myconn.cursor()

try:
    # select dữ liệu từ database
    cur.execute("SELECT name, id, salary FROM Employee")
    
    # tìm nạp hàng đầu tiên từ đối tượng con trỏ  
    result = cur.fetchone()
    print(result);
    
    # tìm nạp hàng tiếp theo từ đối tượng con trỏ  
    result = cur.fetchone()
    print(result);

except:
    myconn.rollback()

myconn.close()

Kết quả:

('The Mac', 10001, 25000.0)
('Vinh', 10002, 26000.0)

Định dạng kết quả

Ví dụ:

import mysql.connector

#tạo đối tượng connection
myconn = mysql.connector.connect(host = "localhost", user = "root",
    passwd = "1234567890", database = "PythonDB")

#tạo đối tượng cursor
cur = myconn.cursor()

try:
    # select dữ liệu từ database
    cur.execute("SELECT name, id, salary FROM Employee")
    
    # tìm nạp các hàng từ đối tượng con trỏ  
    result = cur.fetchall()

    print("Name    ID    Salary")
    
    for row in result:
        print("%s    %d    %d"%(row[0],row[1],row[2]))

except:
    myconn.rollback()

Kết quả:

Name    ID    Salary
The Mac    10001    25000
Vinh    10002    26000
Trung    10003    26000
Tân    10004    10000
Quân    10005    30000
Previous
0