Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 MySQL을 사용하여 일부 기준에 따라 테이블에서 데이터를 어떻게 선택할 수 있습니까?

<시간/>

테이블에서 모든 데이터를 선택해야 하는 경우는 많지 않습니다. 대신 일부 조건이나 기준에 따라 테이블에서 데이터 또는 행을 선택해야 합니다.

많은 학생들의 이름과 점수가 포함된 테이블이 있다고 가정합니다. 이제 점수가 90점 이상인 학생의 이름을 가져와야 합니다. 기본적으로 (marks>=90)이라는 몇 가지 기준에 따라 데이터를 선택해야 합니다.

따라서 MySQL에는 지정된 기준에 따라 테이블에서 데이터를 선택할 수 있는 "WHERE" 문이 제공됩니다.

구문

SELECT * FROM table_name WHERE 조건

여기서 table_name은 테이블의 이름을 지정하고 condition은 데이터 선택이 수행되는 기본 기준을 지정합니다. 이 문은 테이블에서 주어진 조건이나 기준을 만족하는 모든 행을 선택합니다.

파이썬에서 MySQL을 사용하여 테이블에서 특정 데이터를 선택하는 단계

  • MySQL 커넥터 가져오기

  • connect()를 사용하여 커넥터와 연결 설정

  • cursor() 메소드를 사용하여 커서 객체 생성

  • 적절한 mysql 문을 사용하여 쿼리 생성

  • execute() 메서드를 사용하여 SQL 쿼리 실행

  • 연결을 끊다

아래와 같이 "Students"라는 테이블이 있다고 가정합니다. -

+----------+---------+----------+------------+ | 이름 | 수업 | 도시 | 표시 |+----------+---------+----------+------------+| 카란 | 4 | 암리차르 | 95 || 사힐 | 6 | 암리차르 | 93 || 크리티 | 3 | 바탈라 | 88 || 쿠시 | 9 | 델리 | 90 || 키라트 | 5 | 델리 | 85 |+----------+---------+-----------+------------+ 

점수가 90점 이상인 학생의 기록을 선택하여 표시하고자 합니다.

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" SELECT * FROM Students WHERE Marks>=90”cursor.execute(query) for row in cursor:print(row)

위의 코드가 성공적으로 실행되면 학생의 점수가 90점 이상인 행을 표시합니다. 이 경우 1 st 를 반환하여 표시합니다. ,2 nd 그리고 4 행.

출력

('Karan', 4 ,'Amritsar' , 95)('Sahil' , 6 , 'Amritsar' ,93)('Khushi' , 9 ,'Delhi' , 90)