Hướng dẫn .fetchall python
Câu lệnh SELECT được sử dụng để đọc các giá trị từ cơ sở dữ liệu. Show 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 Câu lệnh SELECT được sử dụng để đọc các giá trị từ cơ sở dữ liệu. 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 Nếu bạn đang sử dụng truy vấn của mình để chỉ nhận một giá trị, bạn chỉ có thể lấy chỉ mục thứ 0.
nếu kết quả chỉ có một giá trị sử dụng
Khi bạn chạy truy vấn cho các mục lớn, bạn nhận được kết quả như thế này khi bạn sử dụng curosr.fetchall ()
Sử dụng mã sau để lấy dữ liệu ở định dạng danh sách
3 hữu ích 0 bình luận chia sẻ Có vẻ như bạn có hai colunms trong bảng, vì vậy mỗi hàng sẽ chứa hai phần tử. Cách dễ nhất là lặp qua chúng theo cách này:
Điều đó giống như:
Bạn cũng có thể, như bạn đã cố gắng:
Nhưng điều đó không thành công vì bạn đã ghi đè CHỈNH SỬA Nói chung, BTW, bạn sẽ không bao giờ cần mẫu này trong Python:
Thay vào đó, thông thường chỉ cần làm:
|