SQL 테이블 내에서 열은 일반적으로 중복 값을 포함합니다. 중복 값으로 인해 쿼리에서 반환된 결과를 분석하기 어렵기 때문에 테이블의 열에 있는 고유하거나 다른 값만 가져와야 하는 경우가 있습니다.
예:
고객, 이름, 나이 및 국가 등에 대한 세부 정보가 포함된 Customers라는 테이블이 있다고 가정합니다. 고객이 속한 다른 국가를 알아야 합니다. 인도에서 10명의 고객이 있고 미국에서 15명의 고객이 있을 수 있습니다. 단순히 국가 열을 선택하면 중복 값이 많은 전체 열이 반환됩니다. 이는 결과를 분석하기 어렵기 때문에 목적에 부합하지 않습니다. 우리는 단지 구별되는 국가를 알고 싶을 뿐입니다.
이 시나리오에서는 MySQL의 "SELECT DISTINCT" 문을 사용합니다.
구문
SELECT DISTINT column_name FROM table_name
파이썬에서 MySQL을 사용하여 데이터베이스의 테이블에서 고유한 값을 선택하는 주요 단계
-
mysql 커넥터 가져오기
-
connect()를 사용하여 커넥터와 연결 설정
-
cursor() 메소드를 사용하여 커서 객체 생성
-
적절한 mysql 문을 사용하여 쿼리 생성
-
execute() 메서드를 사용하여 SQL 쿼리 실행
-
연결을 끊다
"Customers"라는 이름의 다음 테이블이 있다고 가정합니다.
+----------+---------+ | name | country | +----------+---------+ | John | America | | Peter | England | | Karan | India | | Rohit | India | | Rohan | America | | Arsh | France | | Aryan | England | +----------+---------+
예
이 표에서 고유한 국가 이름을 선택해야 합니다.
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()
위의 코드는 고유한 국가 이름을 반환합니다.
출력
America England India France