En este artículo, crearemos una tabla en MySQL y crearemos una copia de esa tabla usando Python. Copiaremos toda la tabla, incluidas todas las columnas y la definición de las columnas, así como todas las filas de datos de la tabla.
Para conectarnos a la base de datos MySQL usando python , necesitamos el módulo PyMySql . La clase de cursor permite que Python ejecute comandos SQL. Los cursores son creados por el método connection_name.cursor() , donde connection_name es el enlace hecho a SQL Database. Una vez que se establece la conexión, se usa cursor.execute() para ejecutar las instrucciones SQL.
Entendamos lo anterior tomando un ejemplo. Supongamos que en MySQL creamos una prueba de base de datos y contiene una tabla llamada geeksfoegeeks y tiene el siguiente esquema y los siguientes datos:
Para copiar una tabla en MySQL usamos la siguiente consulta:
CREATE TABLE table-name SELECT * FROM table-name;
Ahora, a continuación se muestra el programa para copiar toda la tabla usando 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 geeksfoegeeks into the newly created table mycursor.execute("create table geeksforgeekscopy select * from geeksfoegeeks") # 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)
Producción:
En la figura anterior, pudimos ver la lista de tablas seguida de todos los registros de la tabla geeksforgeekscopy . El resultado anterior también se ha confirmado al proporcionar el resultado de la base de datos MySQL.
Aquí hay otro ejemplo que muestra cómo crear una nueva tabla a partir de los datos y el esquema de una tabla anterior. A continuación se muestra la tabla previamente existente:
Ahora, use el siguiente script para crear una copia de la tabla anterior en la base de datos:
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)
Producción:
A continuación se muestra la nueva tabla cuyos datos y esquema se copian de la tabla anterior:
Publicación traducida automáticamente
Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA