Computer >> Máy Tính >  >> Lập trình >> Python

Giải thích việc sử dụng câu lệnh SELECT DISTINCT trong MySQL bằng Python?

Bên trong bảng SQL, các cột thường chứa các giá trị trùng lặp. Đôi khi chúng tôi có thể chỉ cần lấy các giá trị riêng biệt hoặc khác nhau có trong một cột trong bảng của chúng tôi vì các giá trị trùng lặp khiến chúng tôi khó phân tích kết quả do truy vấn trả về.

Ví dụ:

Giả sử, chúng ta có một bảng có tên Khách hàng chứa thông tin chi tiết về khách hàng của chúng ta, tên, tuổi và quốc gia của họ, v.v. Chúng ta cần biết khách hàng của chúng ta thuộc các quốc gia nào. Chúng tôi có thể có 10 khách hàng từ Ấn Độ, 15 khách hàng từ Mỹ, v.v. Nếu chúng tôi chỉ chọn cột quốc gia, điều này sẽ trả về cho chúng tôi toàn bộ cột có rất nhiều giá trị trùng lặp. Điều này sẽ không phục vụ mục đích của chúng tôi vì chúng tôi sẽ khó phân tích kết quả. Chúng tôi chỉ muốn biết các quốc gia sản xuất rượu.

Trong trường hợp này, câu lệnh “SELECT DISTINCT” của MySQL được sử dụng.

Cú pháp

SELECT DISTINT column_name FROM table_name

Các bước chính để chọn giá trị chưng cất từ ​​một bảng trong cơ sở dữ liệu bằng MySQL trong python

  • nhập trình kết nối mysql

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • tạo một truy vấn bằng cách sử dụng các câu lệnh mysql thích hợp

  • thực hiện truy vấn SQL bằng phương thức execute ()

  • đóng kết nối

Giả sử, chúng ta có bảng sau có tên là “Khách hàng”.

+----------+---------+
| name     | country |
+----------+---------+
|    John  | America |
|   Peter  | England |
|   Karan  | India   |
|   Rohit  | India   |
|   Rohan  | America |
|    Arsh  | France  |
|   Aryan  | England |
+----------+---------+

Ví dụ

Chúng tôi cần chọn các tên quốc gia riêng biệt từ bảng này.

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="SELECT DISTINCT country FROM Customers "
cursor.execute(query)
for names in cursor:
   print(names)
db.close()

Đoạn mã trên trả về các tên quốc gia riêng biệt.

Đầu ra

America
England
India
France