Répertoire d'articles
MySQL modifier ajouter pour augmenter plusieurs positions sur le terrain ? Explication détaillée de l'utilisation de l'instruction de modification de colonne
MySQL Commande ALTER
Lorsque nous devons modifier le nom de la table de données ou modifier les champs de la table de données, nous devons utiliser la commande MySQL ALTER.
Avant de commencer ce tutoriel, créons une table nommée : testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Supprimer, ajouter ou modifier des champs de table
La commande suivante utilise la commande ALTER avec la clause DROP pour supprimer la colonne i de la table créée ci-dessus :
mysql> ALTER TABLE testalter_tbl DROP i;
DROP ne peut pas être utilisé pour supprimer un champ s'il ne reste qu'un seul champ dans la table de données.
La clause ADD est utilisée dans MySQL pour ajouter des colonnes à la table de données. L'exemple suivant ajoute le champ i à la table testalter_tbl et définit le type de données :
mysql> ALTER TABLE testalter_tbl ADD i INT;
Après avoir exécuté la commande ci-dessus, le champ i est automatiquement ajouté à la fin des champs de la table de données.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Si vous avez besoin de spécifier l'emplacement du nouveau champ, vous pouvez utiliser le mot-clé FIRST fourni par MySQL (setPositionnementpremière colonne), AFTER nom du champ (défini après un champ).
Essayez l'instruction ALTER TABLE suivante et, une fois l'exécution réussie, utilisez SHOW COLUMNS pour voir les modifications apportées à la structure de la table :
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
Les mots-clés FIRST et AFTER ne sont utilisés que dans la clause ADD, donc si vous souhaitez réinitialiser la position d'un champ de table de données, vous devez d'abord utiliser DROP pour supprimer le champ, puis utiliser ADD pour ajouter le champ et définir la position.
Modifier le type et le nom du champ
Si vous devez modifier le type et le nom du champ, vous pouvez utiliser la clause MODIFY ou CHANGE dans la commande ALTER.
Par exemple, pour modifier le type du champ c de CHAR(1) à CHAR(10), exécutez la commande suivante :
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Avec la clause CHANGE, la syntaxe est très différente.Immédiatement après le mot-clé CHANGE se trouve le nom du champ que vous souhaitez modifier, puis spécifiez le nouveau nom et type de champ.Essayez l'exemple suivant :
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Effet de ALTER TABLE sur les valeurs nulles et par défaut
Lorsque vous modifiez un champ, vous pouvez spécifier s'il faut l'inclure uniquement ou s'il faut définir une valeur par défaut.
L'exemple suivant spécifie que le champ j est NOT NULL et que la valeur par défaut est 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Si vous ne définissez pas de valeur par défaut, MySQL définira automatiquement le champ sur NULL par défaut.
Modifier la valeur par défaut du champ
Vous pouvez utiliser ALTER pour modifier la valeur par défaut d'un champ, essayez les exemples suivants :
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Vous pouvez également utiliser la commande ALTER avec la clause DROP pour supprimer la valeur par défaut d'un champ, comme dans l'exemple suivant :
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
La modification du type de table de données peut être effectuée à l'aide de la commande ALTER et de la clause TYPE.Essayez l'exemple suivant, où nous changeons le type de la table testalter_tbl en MYISAM :
Remarque:Pour afficher le type de table de données, vous pouvez utiliser l'instruction SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Modifier le nom de la table
Si vous devez modifier le nom de la table de données, vous pouvez utiliser la clause RENAME dans l'instruction ALTER TABLE pour le faire.
Essayez l'exemple suivant pour renommer la table de données testalter_tbl en alter_tbl :
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
La commande ALTER peut également être utilisée pour créer et supprimer des index sur les tables MySQL, ce que nous aborderons dans les prochains chapitres.
modifier d'autres utilisations
Modifier le moteur de stockage : modifiez-le en myisam
alter table tableName engine=myisam;
Supprimer la contrainte de clé étrangère : keyName est un alias de clé étrangère
alter table tableName drop foreign key keyName;
La position relative du champ modifié : ici nom1 est le champ à modifier, type1 est le type d'origine du champ, premier et après peuvent être sélectionnés, ce qui devrait être évident, premier est placé en premier et après est placé après le nom2 champ
alter table tableName modify name1 type1 first|after name2;
J'espère que le blog de Chen Weiliang ( https://www.chenweiliang.com/ ) partagé "Modifier MySQL pour augmenter plusieurs positions de champ ? Une explication détaillée de l'utilisation de l'instruction de modification de colonne" vous sera utile.
Bienvenue à partager le lien de cet article :https://www.chenweiliang.com/cwl-495.html
Pour débloquer plus d'astuces cachées🔑, bienvenue sur notre chaîne Telegram !
Partagez et likez si vous aimez ! Vos partages et vos likes sont notre motivation continue !