Parfois, le nom de notre table n'a pas de sens, il est donc nécessaire de renommer ou de modifier le nom de la table. MySQL fournit une syntaxe utile qui permet de renommer une ou plusieurs tables de la base de données actuelle.
Syntaxe
Voici la syntaxe utilisée pour modifier le nom de la table :
mysql> RENAME old_table TO new_table;
Ici, nous devons nous assurer que nouveau_nom_table ne doit pas exister, et ancien_nom_table doit être présent dans la base de données. Sinon, il affichera un message d'erreur. Il s'agit de s'assurer que la table n'est pas verrouillée et qu'il n'y a pas de transactions actives avant d'exécuter cette instruction.
REMARQUE : Si nous utilisons l'instruction RENAME TABLE, il est nécessaire de disposer des privilèges ALTER et DROP TABLE sur la table existante. De plus, cette instruction ne peut pas modifier le nom d'une table temporaire.
Nous pouvons également utiliser MySQL RENOMMER LA TABLE instruction pour modifier plusieurs noms de table avec une seule instruction, comme indiqué ci-dessous :
RENAME TABLE old_tab1 TO new_tab1, old_tab2 TO new_tab2, old_tab3 TO new_tab3;
Du MySQL 8.0.13 version, nous pouvons changer l'ancien nom de table verrouillé avec une instruction LOCK et utilise également la clause WRITE LOCK. Par exemple, voici l'instruction valide :
mysql> LOCK TABLE old_tab_name1 WRITE; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Les déclarations suivantes ne sont pas autorisées :
mysql> LOCK TABLE old_tab_name1 READ; RENAME TABLE old_tab_name1 TO new_tab_name1, new_tab_name1 TO new_tab_name2;
Avant la version MySQL 8.0.13, nous ne pouvons pas modifier le nom de la table verrouillée avec l'instruction LOCK TABLE.
MySQL utilise également l'instruction RENAME TABLE pour déplacer une table d'une base de données vers une autre base de données, comme illustré ci-dessous :
mysql> RENAME TABLE current_db.tablel_name TO other_db.tablel_name;
Exemple de renommage de table MySQL
Comprenons comment fonctionne l'instruction RENAME TABLE dans MySQL à travers les différents exemples. Supposons que nous ayons une table nommée EMPLOYÉ , et pour une raison quelconque, il est nécessaire de le remplacer par la table nommée CLIENT .
Nom de la table : employé
Ensuite, exécutez la syntaxe suivante pour modifier le nom de la table :
mysql> RENAME employee TO customer;
Sortir
'l'algorithme de Kruskal'
Nous verrons que la table nommée 'employé' sera transformée en une nouvelle table nommée 'client' :
Dans le résultat ci-dessus, nous pouvons voir que si nous utilisons le nom de table employé après avoir exécuté une instruction RENAME TABLE, cela générera un message d'erreur.
Comment RENOMMER plusieurs tables
L'instruction RENAME TABLE dans MySQL nous permet également de modifier plusieurs noms de table dans une seule instruction. Voir la déclaration ci-dessous :
Supposons que notre base de données ' monemployéedb ' ayant les tableaux suivants :
Si nous voulons changer le nom de la table client en employé et le nom de la table chemises en vêtements, exécutez l'instruction suivante :
mysql> RENAME TABLE customer TO employee, shirts TO garments;
Sortir
Nous pouvons voir que le nom de la table client en employé et le nom de la table chemises en vêtements ont été renommés avec succès.
Renommer la table à l'aide de l'instruction ALTER
L'instruction ALTER TABLE peut également être utilisée pour renommer la table existante dans la base de données actuelle. Voici la syntaxe de l'instruction ALTER TABLE :
ALTER TABLE old_table_name RENAME TO new_table_name;
Consultez la requête suivante qui modifie les vêtements de nom de table existants en nouvelles chemises de nom de table :
java ouvrir un fichier
mysql> ALTER TABLE garments RENAME TO shirts:
Sortir
Ici, nous pouvons voir que les vêtements avec nom de table ont été renommés en chemises avec nom de table.
Comment RENOMMER une table temporaire
Une table temporaire nous permet de conserver des données temporaires, qui sont visibles et accessibles uniquement dans la session en cours. Nous devons donc d’abord créer une table temporaire en utilisant l’instruction suivante :
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);
Ensuite, insérez des valeurs dans ce tableau :
mysql> INSERT INTO Students(name, total_marks, total_subjects) VALUES ('Joseph', 150.75, 2), ('Peter', 180.75, 2);
Ensuite, exécutez la commande show table pour vérifier la table temporaire :
mysql> SELECT * FROM Students;
Maintenant, exécutez la commande suivante pour modifier le nom de la table temporaire :
mysql> RENAME TABLE Students TO student_info;
Il affichera un message d'erreur, comme indiqué ci-dessous :
Ainsi, MySQL permet à l'instruction ALTER table de renommer la table temporaire :
mysql> ALTER TABLE Students RENAME TO student_info;
Sortir