Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Python Database
  • Python MySQL
  • Python SQLite
  • Python MongoDB
  • PostgreSQL
  • SQLAlchemy
  • Django
  • Flask
  • SQL
  • ReactJS
  • Vue.js
  • AngularJS
  • API
  • REST API
  • Express.js
  • NodeJS
Open In App
Next Article:
How to Copy a Table in MySQL Using Python?
Next article icon

How to Copy a Table in MySQL Using Python?

Last Updated : 06 Dec, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

 In this article, we will create a table in MySQL and will create a copy of that table using Python. We will copy the entire table, including all the columns and the definition of the columns, as well as all rows of data in the table.

To connect to MySQL database using python, we need PyMySql module. The cursor class allows python to execute SQL commands. Cursors are created by connection_name.cursor() method, where connection_name is the link made to SQL Database. Once the connection is established, cursor.execute() is used to run the SQL statements.

Let us understand the above by taking an example. Suppose, in MySQL we create a database test and it contains a table named geeksforgeeks and has the below schema and following data:

SQL Database

To Copy a Table in MySQL we use the below query:
 

CREATE TABLE table-name SELECT * FROM table-name;

Now, below is the program to copy the entire table using python:

Python3
# import required modules import pymysql   # establish connection to SQL database connection = pymysql.connect(        # specify hostname     host="localhost",          # specify user of mysql database     user="root",          # specify password for above user     password="1234",          # default port number for mysql is 3306     port=3306,          # specify database name on which you want to work     db="test" )   # make a cursor mycursor = connection.cursor()  # create a new table geeksforgeekscopy and copy all  # records from geeksforgeeks into the newly created table mycursor.execute("create table geeksforgeekscopy select * from geeksforgeeks")  # list all the tables mycursor.execute("Show tables")  # fetchall() will store all the names  # of tables into query1 query1 = mycursor.fetchall()  # print name of tables for i in query1:     print(i)  # read all records from copy table mycursor.execute("Select * from geeksforgeekscopy")  # fetchall() will store all the records  # of copy table into query2 query2 = mycursor.fetchall()  # print all records for i in query2:     print(i) 

Output:

Python output

In the above figure, we could see the list of tables followed by all records from the geeksforgeekscopy table. The above output has also been confirmed by providing the output of MySQL database.

MySQL Output

Here is another example which depicts how to create a new table from the data and schema of a previous table. Below is the previously existing table:

Now, using the below script to create a copy of the above table in the database:

Python3
# import required modules import pymysql  # connect python with mysql with your hostname,  # username, password and database connection= pymysql.connect("localhost", "root", "", "geek")  # make a cursor mycursor = connection.cursor()  # create a new table and copy all records from  # previous table into the newly created table mycursor.execute("create table geeksdemocopy select * from geeksdemo")  # list all the tables mycursor.execute("Show tables")  # fetchall() will store all the names of tables into query1 query1 = mycursor.fetchall()  # print name of tables for i in query1:     print(i)  # read all records from copy table mycursor.execute("Select * from geeksdemocopy")  # fetchall() will store all the records of copy table into query2 query2 = mycursor.fetchall()  # print all records for i in query2:     print(i) 

Output:

Below is the new table whose data and schema are copied from the previous table:


Next Article
How to Copy a Table in MySQL Using Python?

R

rohanchopra96
Improve
Article Tags :
  • Python
  • Python-mySQL
Practice Tags :
  • python

Similar Reads

    How to Copy a Table Definition in MySQL Using Python?
    Python requires an interface to access a database server. Python supports a wide range of interfaces to interact with various databases. To communicate with a MySQL database, MySQL Connector Python module, an API written purely in Python, is used. This module is self-sufficient meaning that it does
    6 min read
    How to Show All Tables in MySQL using Python?
    A connector is employed when we have to use mysql with other programming languages. The work of mysql-connector is to provide access to MySQL Driver to the required language. Thus, it generates a connection between the programming language and the MySQL Server. In order to make python interact with
    1 min read
    How to Add a Column to a MySQL Table in Python?
    Prerequisite: Python: MySQL Create Table Python allows the integration of a wide range of database servers with applications. A database interface is required to access a database from Python. MySQL Connector-Python module is an API in python for communicating with a MySQL database.   ALTER statemen
    4 min read
    Add comment to column in MySQL using Python
    MySQL server is an open-source relational database management system which is a major support for web-based applications. Databases and related tables are the main component of many websites and applications as the data is stored and exchanged over the web. In order to access MySQL databases from a
    3 min read
    Python MariaDB - Drop Table using PyMySQL
    MariaDB is an open source Database Management System and its predecessor to MySQL. The pymysql client can be used to interact with MariaDB similar to that of MySQL using Python. In this article we will look into the process of Dropping a table from a database using pymysql. To drop a table use any o
    2 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences