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

Làm thế nào để sao chép một bảng trong MySQL bằng Python?

Chúng ta có thể tạo bản sao của một bảng hiện có trong mysql bằng Python. Toàn bộ bảng sẽ được sao chép bao gồm các cột, định nghĩa cột và tất cả các hàng của bảng.

Cú pháp

CREATE TABLE table_name SELECT * FROM existing_table

table_name là tên của bảng mới sẽ được tạo. current_table là tên của bảng sẽ được sao chép.

Các bước sao chép bảng 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ó một bảng có tên là “Học sinh” như sau

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

Ví dụ

Chúng tôi muốn tạo bản sao của bảng trên. Đặt tên của bảng đã sao chép là “CopyStudents”.

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

cursor=db.cursor()

#copy table Students into CopyStudents
query="CREATE TABLE CopyStudents SELECT * FROM Students"
cursor.execute(query)

#select rows from the new table
query1="SELECT * FROM CopyStudents"
cursor.execute(query1)

#print the contents of the copied table
for row in cursor:
   print(row)
db.close()

Đầu ra

(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Sahil’ , 6 , ‘Amritsar’ ,93)
(‘Kriti’ , 3 , ‘Batala’ ,88)
(‘Amit’ , 9 , ‘Delhi’ , 90)
(‘Priya’ , 5 , ‘Delhi’ ,85)

Tất cả các hàng, cột và cột loại bỏ từ bảng “Sinh viên” được sao chép vào bảng “Học viên Copy”.