Avec l'aide de la commande ALTER TABLE, vous pouvez modifier la position des colonnes d'une table MySQL sans perdre de données. La syntaxe est la suivante -
ALTER TABLE yourTableName MODIFY yourColumnName1 data type AFTER yourColumnName2;
Pour comprendre le concept ci-dessus, créons un tableau. La requête pour créer une table avec quelques colonnes est la suivante -
mysql> create table changeColumnPositionDemo −> ( −> StudentId int, −> StudentAddress varchar(200), −> StudentAge int, −> StudentName varchar(200) −> ); Query OK, 0 rows affected (0.72 sec)
Insérons quelques données dans la table. La requête pour insérer des enregistrements est la suivante : .
mysql> insert into changeColumnPositionDemo values(101,'US',23,'Johnson'); Query OK, 1 row affected (0.13 sec) mysql> insert into changeColumnPositionDemo values(102,'UK',20,'John'); Query OK, 1 row affected (0.19 sec) mysql> insert into changeColumnPositionDemo values(103,'US',22,'Carol'); Query OK, 1 row affected (0.39 sec) mysql> insert into changeColumnPositionDemo values(104,'UK',19,'Sam'); Query OK, 1 row affected (0.18 sec)
Vous pouvez désormais afficher tous les enregistrements à l'aide de l'instruction select. La requête est la suivante -
mysql> select *from changeColumnPositionDemo;
Voici le résultat -
+-----------+----------------+------------+-------------+ | StudentId | StudentAddress | StudentAge | StudentName | +-----------+----------------+------------+-------------+ | 101 | U | 23 | Johnson | | 102 | UK | 20 | John | | 103 | US | 22 | Carol | | 104 | UK | 19 | Sam | +-----------+----------------+------------+-------------+ 4 rows in set (0.00 sec)
Voici la requête pour changer la position de la colonne sans perdre de données. Nous déplaçons la colonne "StudentAddress" après la colonne "StudentAge" -
mysql> ALTER TABLE changeColumnPositionDemo MODIFY StudentAddress varchar(200) AFTER StudentAge; Query OK, 0 rows affected (2.27 sec) Records: 0 Duplicates: 0 Warnings: 0
Ci-dessus, nous définissons la colonne StudentAddress après le nom de la colonne StudentAge.
Voici la requête pour vérifier si les deux colonnes ci-dessus ont changé sans perdre de données -
mysql> select *from changeColumnPositionDemo;
Voici le résultat -
+-----------+------------+----------------+-------------+ | StudentId | StudentAge | StudentAddress | StudentName | +-----------+------------+----------------+-------------+ | 101 | 23 | US | Johnson | | 102 | 20 | UK | John | | 103 | 22 | US | Carol | | 104 | 19 | UK | Sam | +-----------+------------+----------------+-------------+ 4 rows in set (0.00 sec)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!