¿Cómo cambiar el nombre de una tabla MySQL en Python?

El módulo MySQL Connector-Python es una API en python que se utiliza para comunicarse con un servidor de base de datos MySQL. Solo requiere las bibliotecas estándar de Python y no tiene dependencias adicionales. Hay varios otros módulos en Python como PyMySQL y mysqlclient que se pueden usar para acceder a un servidor de base de datos. En este artículo, usaremos MySQL Connector-Python para ejecutar consultas de MySQL, particularmente para cambiar el nombre de una tabla, a través de Python. 

Cambiar el nombre de una tabla en SQL

Las instrucciones ALTER y RENAME se utilizan para cambiar el nombre de una tabla. Al cambiar el nombre de una tabla, se deben tener en cuenta los otros objetos de la base de datos, como vistas, procedimientos almacenados, activadores, etc., a los que se puede hacer referencia en la tabla y ajustarlos manualmente.

Sintaxis de la sentencia RENAME:

RENAME TABLE table_name to new_table_name

Aquí, table_name es la tabla existente que necesita ser renombrada y new_table_name es el nuevo nombre que se le dará a la tabla existente. Además, este nuevo nombre no debe ser un duplicado de ninguna otra tabla existente.

Sintaxis de la sentencia ALTER:

ALTER TABLE table_name
RENAME to new_table_name

Esta declaración es similar a la declaración RENAME. Sin embargo, a diferencia de RENAME, también puede cambiar el nombre de las tablas temporales.

Implementación:

Primero, establezca una conexión con el servidor de la base de datos y cree un objeto de cursor con las funciones connect() y cursor() del módulo MySQL Connector-Python en Python. Luego use las declaraciones RENAME o ALTER para cambiar el nombre de una tabla. A continuación se muestran algunos ejemplos para una mejor comprensión.

Base de datos en uso:

Usaremos un almacén de base de datos de muestra con una tabla de productos , una tabla de compradores y una tabla de personal para los ejemplos.

Ejemplo 1: Renombrar usando la instrucción ALTER

  • Paso 1: Establezca la conexión a la base de datos de la tienda usando la función connect() .
  • Paso 2: Cree un objeto de cursor para interactuar con la base de datos utilizando la función cursor().
  • Paso 3: use la declaración ALTER para cambiar el nombre de la tabla de personal como empleados.
  • Paso 4: Para comprobar si se ha cambiado el nombre de la tabla, ejecute el comando MOSTRAR TABLAS. Esto muestra los nombres de todas las tablas en la base de datos.

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
    host="localhost",
    user="username",
    password="geeksforgeeks",
    database="store"
)
  
# Create a cursor object
mycursor = mydb.cursor()
  
# MySQL query for for renaming a table
query = "ALTER TABLE staff RENAME to employees"
# Execute the query
mycursor.execute(query)
  
# Print names of all tables in the database
mycursor.execute("SHOW TABLES")
myresult = mycursor.fetchall()
for row in myresult:
    print(row)
  
# Close database connection
mydb.close()

Producción:

Ejemplo 2: Renombrar usando la instrucción RENAME

Siga los mismos pasos que en el ejemplo anterior para establecer una conexión con el servidor de la base de datos y crear un objeto de cursor. Luego ejecute la consulta SQL con la instrucción RENAME. Este comando permite cambiar el nombre de varias tablas a la vez. Este ejemplo cambia el nombre de la tabla de productos a inventario y la tabla de compradores a clientes .

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
    host="localhost",
    user="username",
    password="geeksforgeeks",
    database="store"
)
  
# Create a cursor object
mycursor = mydb.cursor()
  
# MySQL query for renaming a table
query = "RENAME TABLE products to inventory,\
                      buyers to customers"
# Execute the query
mycursor.execute(query)
  
# Print names of all tables in the database
mycursor.execute("show tables")
myresult = mycursor.fetchall()
for row in myresult:
    print(row)
  
# Close database connection
mydb.close()

Producción:

Publicación traducida automáticamente

Artículo escrito por akshisaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *