Hướng dẫn select where mysql python - chọn nơi python mysql
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) Ví dụ 2: đọc cột cụ thể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ả. 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) Ví dụ 2: đọc cột cụ thể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ả. 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 Để học tốt bài này, các bạn cần phải biết cách insert dữ liệu vào table trong MySQL với Python. Các bạn có thể đọc lại bài Thêm (insert) và xóa (delete) dữ liệu trong MySQL với Python để biết cách insert dữ liệu vào table trong MySQL. Lưu ý, chúng ta đang sử dụng MySQL được tích hợp sẵn trong XAMPP. Các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL., chúng ta đang sử dụng MySQL được tích hợp sẵn trong XAMPP. Các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách cài đặt XAMPP và khởi chạy MySQL. Các ví dụ insert và where dữ liệu sẽ thực hiện trên table gochocit_posts trong database gochocit. Database và table này đã được tạo trong bài Tạo database và tạo table trong MySQL với Python. Các bạn cần đọc lại để xem cấu trúc của database và dữ liệu của table trên.insert và where dữ liệu sẽ thực hiện trên table gochocit_posts trong database gochocit. Database và table này đã được tạo trong bài Tạo database và tạo table trong MySQL với Python. Các bạn cần đọc lại để xem cấu trúc của database và dữ liệu của table trên. Câu lệnh 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()0 giúp lấy ra các dòng dữ liệu của table trong MySQL. 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()0 giúp lấy ra các dòng dữ liệu của table trong MySQL.
Kết quả
Hàm 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()1 trả về một danh sách (list) chứa tất cả các dòng dữ liệu truy vấn được. 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()1 trả về một danh sách (list) chứa tất cả các dòng dữ liệu truy vấn được. Trong ví dụ trên, chúng ta sử dụng 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()2 để lấy ra tất cả các cột dữ liệu trong table. Tuy nhiên, chúng ta có thể chỉ định một vài cột được SELECT ra. 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()2 để lấy ra tất cả các cột dữ liệu trong table. Tuy nhiên, chúng ta có thể chỉ định một vài cột được SELECT ra. ('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 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')1 Khi SELECT dữ liệu trong table thì có thể lấy ra được nhiều dòng dữ liệu. Nhưng nếu chỉ muốn lấy dòng dữ liệu đầu tiên SELECT được, chúng ta có thể dùng hàm 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()3 của module MySQL Connector trong Python.SELECT dữ liệu trong table thì có thể lấy ra được nhiều dòng dữ liệu. Nhưng nếu chỉ muốn lấy dòng dữ liệu đầu tiên SELECT được, chúng ta có thể dùng hàm 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()3 của module MySQL Connector trong Python. ('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 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')3 2. Sử dụng mệnh đề WHERE trong MySQL với PythonMệnh đề WHERE giúp lấy ra những dòng dữ liệu cụ thể, thỏa một điều kiện nào đó.WHERE giúp lấy ra những dòng dữ liệu cụ thể, thỏa một điều kiện nào đó. ('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 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')5 Trong ví dụ trên, chúng ta chỉ lấy ra dòng dữ liệu nào có ID=5.ID=5. Chúng ta có thể sử dụng 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()4 để đặt chổ cho giá trị cần lọc dữ liệu trong mệnh đề WHERE. 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()4 để đặt chổ cho giá trị cần lọc dữ liệu trong mệnh đề WHERE. ('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 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')5 Với mệnh đề WHERE, chúng ta cũng có thể chọn những dòng dữ liệu nào bắt đầu, bao gồm hoặc kết thúc bằng một chữ cái hoặc cụm từ nhất định với LIKE và % đại diện cho các ký tự.WHERE, chúng ta cũng có thể chọn những dòng dữ liệu nào bắt đầu, bao gồm hoặc kết thúc bằng một chữ cái hoặc cụm từ nhất định với LIKE và % đại diện cho các ký tự. ('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 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')9 Trong ví dụ trên, chúng ta muốn lấy ra những dòng dữ liệu nào mà post_content có bao gồm số ‘2′.post_content có bao gồm số ‘2′.
|