Diferentes formas de cambiar el nombre de la tabla

El artículo analiza muchos métodos populares para cambiar el nombre de una tabla MySQL y proporciona ejemplos prácticos de trabajo que pueden ser útiles tanto para principiantes como para usuarios avanzados.

En uno de nuestros artículos anteriores, analizamos en detalle cómo cambiar el nombre de una base de datos a MySQL. En este artículo, nos centraremos en cambiar el nombre de las tablas en MySQL.

Las operaciones de cambio de nombre de tabla son comunes. Muy a menudo, a medida que cambian las situaciones comerciales y los requisitos comerciales, es necesario cambiar los nombres de las tablas en las bases de datos MySQL para que tengan nombres más significativos o reflejen mejor la esencia de la información almacenada en ellas.

Antes de comenzar a cambiar los nombres de las tablas en MySQL, asegúrese de protegerse y evaluar cuidadosamente los riesgos. Es necesario analizar los procesos que utilizan esta tabla. En caso de que cambie el nombre de la tabla, también debe cambiar el código relacionado con esa tabla. ¡Y eso es solo la mitad de la batalla! Además, deberá modificar otros objetos de la base de datos, como vistas, procedimientos guardados, activadores, claves externas, etc., que hacen referencia a la tabla en cuestión.

¿Suena complicado? ¡Ata y agárrate fuerte! En esto examinamos en detalle la operación MySQL Rename Table.

Contenido
1. Sintaxis de consulta MySQL RENAME TABLE
1.1 REGLAS DE TRANSFERENCIA DE TABLA (problema con longitud máxima y minúsculas)
2. Cambiar el nombre de la tabla en el ejemplo de MySQL
2.1 Cambiar el nombre de varias tablas en la base de datos
3. Use la declaración ALTER TABLE para cambiar el nombre de las tablas en MySQL
4. Cómo cambiar el nombre de una tabla en MySQL Workbench
5. Cómo cambiar el nombre de la tabla en dbForge Studio para MySQL

Índice

Sintaxis de consulta MySQL RENAME TABLE

La sintaxis para cambiar el nombre de la tabla en MySQL es la siguiente:

RENAME TABLE table_name_old TO table_name_new;

En caso de que haya olvidado el nombre exacto de la tabla que desea cambiar de nombre, puede usar la declaración SHOW TABLES.

Esta es la sintaxis para obtener todos los nombres de las tablas de la base de datos:

SHOW TABLES
    {FROM | IN} database_name

Supongamos que queremos saber los nombres de todas las tablas en nuestro halcón base de datos.

SHOW TABLES
   FROM sakila

Cambiar el nombre de las reglas de la tabla (problema de longitud máxima y minúsculas)

Al cambiar el nombre de las tablas en MySQL, tenga en cuenta algunas reglas importantes:

  1. La longitud máxima del nombre de una tabla en MySQL es de 64 caracteres.
  2. La tabla anterior (table_name_old) debe existir en la base de datos y la nueva tabla (table_name_new) no debe existir.
  3. Para cambiar el nombre de una tabla correctamente, debe tener privilegios ALTER y DROP para la tabla original, así como permisos CREATE e INSERT para la nueva tabla.
  4. No puede cambiar el nombre de una tabla temporal utilizando la sentencia RENAME TABLE. Utilice ALTER TABLE en su lugar.
  5. La distinción entre mayúsculas y minúsculas de los nombres de las tablas de MySQL depende del sistema operativo de la máquina host. Por ejemplo, los nombres de las tablas no distinguen entre mayúsculas y minúsculas en Windows, pero sí en la mayoría de las variantes de Unix. Sin embargo, no se recomienda hacer referencia al mismo nombre de tabla utilizando diferentes registros en la misma declaración, incluso en plataformas que no distinguen entre mayúsculas y minúsculas. Para evitar los problemas que pueden causar las diferencias en los registros de los nombres de las tablas, sería mejor adoptar un acuerdo consistente, por ejemplo, siempre crear tablas y referirse a ellas usando un registro pequeño.

¿Cómo hacer que los nombres de las tablas MySQL no distingan entre mayúsculas y minúsculas?

  1. Navegue hasta el archivo /etc/mysql/my.cnf y ábralo.
  2. Establecer la variable MySQL minúsculas table_name = 1.
  3. Reinicie el servidor.

Cambiar el nombre de la tabla en el ejemplo de MySQL

Ahora vamos a crear y cambiar el nombre de la tabla a la nuestra. halcón base de datos:

USE sakila
CREATE TABLE IF NOT EXISTS orders (
    order_id INT AUTO_INCREMENT PRIMARY KEY,
    product_name VARCHAR(255) NOT NULL,
    date DATE,
    due_date DATE,
    status TINYINT NOT NULL,
    priority TINYINT NOT NULL,
    description TEXT,
    quantity INT
)  ENGINE=INNODB;

Y luego cambiarle el nombre:

RENAME TABLE orders TO product_orders;

Nota
En nuestro blog también puede aprender cómo cambiar el nombre de una columna en MySQL.

Cambiar el nombre de varias tablas en la base de datos

Recuerde que en MySQL puede cambiar el nombre de varias tablas en una declaración:

RENAME TABLE table_name_old_1 TO table_name_new_1,
             table_name_old_2 TO table_name_new_2,
             table_name_old_3 TO table_name_new_3;

Además, puede cambiar el nombre de todas las tablas en la base de datos usando solo una transacción. Simplemente obtenga todos los nombres de las tablas usando la declaración SHOW TABLES y luego cámbieles el nombre como en la sintaxis anterior.

Use la declaración ALTER TABLE para cambiar el nombre de las tablas en MySQL

Como mencionamos, RENAME TABLE no funciona para tablas temporales. Para evitar posibles errores, lo mejor es utilizar la instrucción ALTER TABLE.

ALTER TABLE table_name_old
  RENAME TO table_name_new;

Cómo cambiar el nombre de una tabla en MySQL Workbench

Cambiar el nombre de las tablas en MySQL Workbench es un proceso bastante simple y fácil, pero hay peligros ocultos detrás de él.

Para cambiar el nombre de una tabla usando la herramienta MySQL Workbench:
1. En MySQL Workbench Navigator, busque el nombre de la tabla que desea cambiar y luego haga clic en ella.
2. Haga clic en el icono de llave inglesa junto a la tabla cuyo nombre desea cambiar.
Como alternativa, haga clic con el botón derecho en la tabla cuyo nombre desea cambiar en Navigator y, a continuación, haga clic en cambia la mesa.
3. En la ventana del editor de tablas que se abre, cambie el nombre de la tabla como se muestra en la siguiente captura de pantalla.
4. Haga clic en Solicitar.

Ahora, sobre las trampas de usar Workbench para cambiar el nombre de las tablas. Desafortunadamente, la herramienta carece de la funcionalidad de refactorización, por lo que deberá buscar y editar manualmente todos los enlaces a la tabla renombrada.

Cómo cambiar el nombre de la tabla en dbForge Studio

Con dbForge Studio para MySQL puede olvidarse de las tediosas horas de encontrar enlaces a un objeto renombrado y reemplazarlos. Para ahorrar tiempo y esfuerzo, dbForge Studio para MySQL automatiza el proceso de cambio de nombre de los siguientes objetos de la base de datos: tablas, columnas, vistas, alias, procedimientos almacenados, variables locales, activadores, eventos, UDF y usuarios, e incluso ofrece una cómoda vista previa de los cambios. antes de su aplicación.

Para cambiar el nombre de un objeto en un script:

1. Haga clic derecho, señale refactorizacióny luego presione Rebautizar.
Además, señale el objeto de la base de datos y haga clic en F2.

2. El objeto de la base de datos se resaltará en gris. Cambie su nombre según sea necesario.
3. Presione F2 para obtener una vista previa de los cambios o haga clic en Registrarse/Mesa para aplicar cambios sin previsualizarlos.
У Cambiar vista previa - Cambiar nombre cuadro de diálogo, puede ver todos los enlaces al objeto renombrado.

4. Seleccione los enlaces deseados y haga clic en Solicitar.

Como puede ver, dbForge Studio para MySQL, a diferencia de MySQL Workbench, proporciona una función de refactorización avanzada y, por lo tanto, le permite cambiar de nombre de forma rápida y segura no solo las tablas sino también otros objetos de la base de datos.

Descargue la versión de prueba gratuita de 30 días de dbForge Studio para MySQL, actívela y comience a disfrutar de todas las funciones útiles que ofrece.

Artículos de interés

Subir