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

Python에서 MySQL을 사용하여 두 테이블에서 내부 조인을 어떻게 수행할 수 있습니까?

<시간/>

SQL에서 두 테이블 사이의 공통 열을 기반으로 하거나 지정된 조건을 기반으로 두 테이블을 조인할 수 있습니다. 두 개의 SQL 테이블을 조인하는 데 사용할 수 있는 JOIN 유형이 다릅니다.

여기서는 두 테이블의 내부 조인에 대해 설명합니다.

JOIN과 INNER JOIN은 모두 같은 방식으로 작동합니다. INNER JOIN은 한 테이블의 각 행을 다른 테이블의 모든 행과 일치시키고 일부 공통 열이 있거나 지정된 일부 조건을 충족하는 두 테이블의 행을 결합할 수 있도록 합니다.

두 테이블 간에 조인을 적용할 때 테이블을 조인할 조건을 지정해야 합니다.

구문

SELECT column1, column2...FROM table_1INNER JOIN table_2 ON 조건;

다음과 같이 "Students" 및 "Department"라는 두 개의 테이블이 있다고 가정합니다. −

학생

+----------+--------------+----------+| 아이디 | 학생이름 | 부서 ID |+----------+-------------+----------+| 1 | 라훌 | 120 || 2 | 로힛 | 121 || 3 | 키라트 | 122 || 4 | 인더 | 125화 

부서

+----------+-----------------+| 부서 아이디 | Department_name |+----------+-----------------+| 120 | CSE || 121 | 수학 || 122 | 물리학 |+----------+-----------------+

두 테이블에서 공통인 dept_id를 기반으로 위의 테이블을 조인합니다.

파이썬에서 MySQL을 사용하여 두 테이블을 조인하는 단계

  • MySQL 커넥터 가져오기

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

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

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

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

  • 연결을 끊다

예시

 import mysql.connectordb=mysql.connector.connect(host="your host", user="your username", password="yourpassword",database="database_name")cursor=db.cursor()query=" SELECT Students.Id,Students.Student_name,Department.Department_nameFROM Students INNER JOIN Department ON Students.Dept_Id=Department.Dept_Id"cursor.execute(query)rows=cursor.fetchall() for x in rows:print(x)db.close ()

출력

(1, 'Rahul', 'CSE')(2, 'Rohit', 'Mathematics')(3, 'Kirat', 'Physics')

Department 테이블에 Students 테이블의 4번째 행에 대한 수학 기록이 없기 때문에 4번째 행은 결과에 포함되지 않습니다.