À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
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':
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:
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.
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.
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:
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