logo

Tabela de renomeação do MySQL

Às vezes, o nome da nossa tabela não tem significado, por isso é necessário renomear ou alterar o nome da tabela. MySQL fornece uma sintaxe útil que pode renomear uma ou mais tabelas no banco de dados atual.

Sintaxe

A seguir está a sintaxe usada para alterar o nome da tabela:

 mysql> RENAME old_table TO new_table; 

Aqui, temos que ter certeza de que nome_tabela_nova não deve existir, e nome_tabela_antiga deve estar presente no banco de dados. Caso contrário, irá gerar uma mensagem de erro. É para garantir que a tabela não esteja bloqueada e que não haja transações ativas antes de executar esta instrução.

NOTA: Se usarmos a instrução RENAME TABLE, é necessário ter privilégios ALTER e DROP TABLE para a tabela existente. Além disso, esta instrução não pode alterar o nome de uma tabela temporária.

Também podemos usar o MySQL RENOMEAR TABELA instrução para alterar mais de um nome de tabela com uma única instrução, conforme mostrado abaixo:

 RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3; 

De MySQL 8.0.13 versão, podemos alterar o nome da tabela antiga bloqueada com uma instrução LOCK e também usar a cláusula WRITE LOCK. Por exemplo, a seguir estão as declarações válidas:

 mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2; 

As seguintes declarações não são permitidas:

 mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2; 

Antes da versão 8.0.13 do MySQL, não podemos alterar o nome da tabela que foi bloqueada com a instrução LOCK TABLE.

O MySQL também usa a instrução RENAME TABLE para mover uma tabela de um banco de dados para outro banco de dados, mostrada abaixo:

 mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name; 

Exemplo de tabela RENAME do MySQL

Vamos entender como funciona a instrução RENAME TABLE no MySQL através de vários exemplos. Suponha que temos uma tabela chamada FUNCIONÁRIO , e por algum motivo, é necessário alterá-lo para a tabela chamada CLIENTE .

Nome da tabela: funcionário

Tabela de renomeação do MySQL

A seguir, execute a seguinte sintaxe para alterar o nome da tabela:

 mysql> RENAME employee TO customer; 

Saída

impressão java

Veremos que a tabela chamada 'funcionário' será alterada para uma nova tabela chamada 'cliente':

Tabela de renomeação do MySQL

Na saída acima, podemos ver que se usarmos o nome da tabela funcionário após executar uma instrução RENAME TABLE, será gerada uma mensagem de erro.

Como RENOMEAR Múltiplas Tabelas

A instrução RENAME TABLE no MySQL também nos permite alterar mais de um nome de tabela em uma única instrução. Veja a declaração abaixo:

Suponha que nosso banco de dados ' meufuncionáriob 'tendo as seguintes tabelas:

Tabela de renomeação do MySQL

Se quisermos mudar o nome da mesa cliente para funcionário e o nome da mesa camisas para roupas, execute a seguinte instrução:

 mysql> RENAME TABLE customer TO employee, shirts TO garments; 

Saída

Podemos ver que o nome da tabela cliente em funcionário e o nome da mesa camisas em roupas foram renomeados com sucesso.

Tabela de renomeação do MySQL

Renomear tabela usando a instrução ALTER

A instrução ALTER TABLE também pode ser usada para renomear a tabela existente no banco de dados atual. A seguir está a sintaxe da instrução ALTER TABLE:

 ALTER TABLE old_table_name RENAME TO new_table_name; 

Veja a consulta a seguir que altera o nome da tabela existente de vestuário para o novo nome da tabela camisas:

como determinar o tamanho do monitor
 mysql> ALTER TABLE garments RENAME TO shirts: 

Saída

Aqui, podemos ver que o nome da mesa roupas foi renomeado para nome da mesa camisas.

Tabela de renomeação do MySQL

Como RENOMEAR tabela temporária

Uma tabela temporária nos permite manter dados temporários, que são visíveis e acessíveis apenas na sessão atual. Então, primeiro, precisamos criar uma tabela temporária usando a seguinte instrução:

 mysql> CREATE TEMPORARY TABLE Students( name VARCHAR(40) NOT NULL, total_marks DECIMAL(12,2) NOT NULL DEFAULT 0.00, total_subjects INT UNSIGNED NOT NULL DEFAULT 0); 

A seguir, insira valores nesta tabela:

 mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2); 

Em seguida, execute o comando show table para verificar a tabela temporária:

 mysql> SELECT * FROM Students; 

Agora, execute o seguinte comando para alterar o nome da tabela temporária:

 mysql> RENAME TABLE Students TO student_info; 

Irá gerar uma mensagem de erro, conforme mostrado abaixo:

Tabela de renomeação do MySQL

Assim, o MySQL permite que a instrução ALTER table renomeie a tabela temporária:

 mysql> ALTER TABLE Students RENAME TO student_info; 

Saída

Tabela de renomeação do MySQL