Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 MySQL 테이블 복사하는 방법 완벽 정리

파이썬(Python)을 활용하면 MySQL에서 기존 테이블의 복사본을 손쉽게 만들 수 있습니다. 이때 복사되는 것은 단순히 데이터만이 아니라 컬럼(열), 컬럼 정의(데이터 타입 등), 그리고 테이블에 저장된 모든 행(row)까지 포함됩니다.

기본 문법

CREATE TABLE table_name SELECT * FROM existing_table

table_name은 새로 생성할 테이블의 이름이며, existing_table은 복사 대상이 되는 원본 테이블의 이름입니다.

파이썬에서 MySQL로 테이블을 복사하는 절차

  • MySQL 커넥터(mysql.connector)를 임포트합니다.

  • connect() 메서드를 사용해 데이터베이스와 연결을 설정합니다.

  • cursor() 메서드로 커서 객체를 생성합니다.

  • 적절한 MySQL 문법으로 쿼리를 작성합니다.

  • execute() 메서드를 사용해 SQL 쿼리를 실행합니다.

  • 작업이 끝나면 연결을 종료합니다.

예제 데이터 준비

다음과 같은 "Students" 테이블이 있다고 가정해 보겠습니다.

+----------+---------+-----------+------------+
|    Name  |  Class  |    City   |    Marks   |
+----------+---------+-----------+------------+
|    Karan |    4    | Amritsar  |    95      |
|    Sahil |    6    | Amritsar  |    93      |
|    Kriti |    3    | Batala    |    88      |
|   Khushi |    9    | Delhi     |    90      |
|    Kirat |    5    | Delhi     |    85      |
+----------+---------+-----------+------------+

예제 코드

위 테이블의 복사본을 만들어 보겠습니다. 복사된 테이블의 이름은 "CopyStudents"로 지정합니다.

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

cursor=db.cursor()

#Students 테이블을 CopyStudents로 복사
query="CREATE TABLE CopyStudents SELECT * FROM Students"
cursor.execute(query)

#새로 생성된 테이블의 행 조회
query1="SELECT * FROM CopyStudents"
cursor.execute(query1)

#복사된 테이블의 내용 출력
for row in cursor:
    print(row)
db.close()

실행 결과

('Karan', 4 ,'Amritsar' , 95)
('Sahil' , 6 , 'Amritsar' ,93)
('Kriti' , 3 , 'Batala' ,88)
('Khushi' , 9 , 'Delhi' , 90)
('Kirat' , 5 , 'Delhi' ,85)

실행 결과를 확인하면 원본 "Students" 테이블의 모든 행, 컬럼, 그리고 컬럼 정의가 그대로 "CopyStudents" 테이블에 복사된 것을 알 수 있습니다.

추가 팁

테이블 구조만 복사하고 데이터는 제외하고 싶다면 CREATE TABLE new_table SELECT * FROM existing_table WHERE 1=0처럼 조건을 추가하면 됩니다. 또한 LIKE 절을 사용하면 인덱스와 컬럼 속성까지 포함한 구조만 복제할 수 있으니 상황에 맞게 활용해 보세요.