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 ShowShow
- Phương thức fetchall[]
- Phương thức fetchone[]
- Định dạng kết quả
- 9.1. Cài đặt MySQLdb
- 9.2. Kết nối đến MySQL Server
- 9.3. Kết nối với charset utf8
- 9.4. Query dữ liệu
- 9.5. Fetch dữ liệu
- 9.7. Prepared Statement
Phương thức fetchall[]
Phương thức fetchone[]
Định dạng kết quả
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[]
9.1. Cài đặt MySQLdb
['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']
9.2. Kết nối đến MySQL Server
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[]
9.1. Cài đặt MySQLdb
['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[]
Định dạng kết quả
9.1. Cài đặt MySQLdb
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[]
9.1. Cài đặt MySQLdb
['The Mac', 10001, 25000.0] ['Vinh', 10002, 26000.0]
Định dạng kết quả
9.1. Cài đặt MySQLdb
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[]
9.1. Cài đặt MySQLdb
Name ID Salary The Mac 10001 25000 Vinh 10002 26000 Trung 10003 26000 Tân 10004 10000 Quân 10005 30000
9.2. Kết nối đến MySQL Server
9.3. Kết nối với charset utf8
9.1. Cài đặt MySQLdb
9.2. Kết nối đến MySQL Server
$ sudo pip install MySQL-python
9.3. Kết nối với charset utf8//pypi.python.org/pypi/MySQL
9.4. Query dữ liệu
import MySQLdb
9.5. Fetch dữ liệu
['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']0
9.2. Kết nối đến MySQL Server
9.3. Kết nối với charset utf8
9.4. Query dữ liệu
['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']1
9.5. Fetch dữ liệutry để bắt lỗi như sau:
['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']2
9.3. Kết nối với charset utf8
9.4. Query dữ liệu
['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']3
9.5. Fetch dữ liệu
9.4. Query dữ liệu
9.5. Fetch dữ liệucursor của MySQLdb. Ví dụ:
['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']4
9.7. Prepared Statement
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[]6 là:
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[]7
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ẻ.
['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']5
9.5. Fetch dữ liệu
9.7. Prepared Statementkhi đã
['The Mac', 10001, 25000.0] ['Vinh', 10002, 26000.0] ['Trung', 10003, 26000.0] ['Tân', 10004, 10000.0] ['Quân', 10005, 30000.0]2 là
['The Mac', 10001, 25000.0] ['Vinh', 10002, 26000.0] ['Trung', 10003, 26000.0] ['Tân', 10004, 10000.0] ['Quân', 10005, 30000.0]3 và
['The Mac', 10001, 25000.0] ['Vinh', 10002, 26000.0] ['Trung', 10003, 26000.0] ['Tân', 10004, 10000.0] ['Quân', 10005, 30000.0]4 .
- 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ẻ. : chỉ fetch một dòng dữ liệu. Nếu muốn fetch nhiều dòng dữ liệu thì có thể gọi nhiều lần, mỗi lần sẽ trả về một dòng dữ liệu. Tốt cho trường hợp truy vấn rất nhiều dữ liệu
một lúc. Nếu trả về
['The Mac', 10001, 25000.0] ['Vinh', 10002, 26000.0] ['Trung', 10003, 26000.0] ['Tân', 10004, 10000.0] ['Quân', 10005, 30000.0]
6 tức là đã fetch hết dữ liệu từ câu truy vấn. - Ví dụ 1
- Kết quả:
Ví dụ 2: đọc cột cụ thể
['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']6
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ả. cursor khi không còn sử dụng theo ví dụ:
['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']7
9.7. Prepared Statement
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ẻ.
['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']8
Ví dụ 1