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 d'abord une table nommée : testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use TUTORIALS; 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 et la clause DROP pour supprimer le champ i de la table créée ci-dessus :
mysql> ALTER TABLE testalter_tbl DROP i;
S'il ne reste qu'un seul champ dans la table de données, DROP ne peut pas être utilisé pour supprimer le champ.
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 sera automatiquement ajouté à la fin du champ 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 devez spécifier l'emplacement du nouveau champ, vous pouvez utiliser les mots-clés FIRST (définis dans la première colonne) et APRÈS le nom du champ (défini après un certain champ) fournis par MySQL.
Essayez l'instruction ALTER TABLE suivante. Après une exécution réussie, utilisez SHOW COLUMNS pour afficher 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 changer le type du champ c de CHAR(1) à CHAR(10), vous pouvez exécuter la commande suivante :
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Utilisez la clause CHANGE, la syntaxe est très différent. Après le mot-clé CHANGE, suivez le nom du champ que vous souhaitez modifier, puis spécifiez le type et le nom du nouveau champ. Essayez l'exemple suivant :
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT; mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
L'impact de ALTER TABLE sur les valeurs Null et les valeurs par défaut
Lorsque vous modifiez un champ, vous pouvez spécifier s'il faut inclure uniquement ou si pour définir une valeur par défaut.
Dans l'exemple suivant, le champ j spécifié n'est PAS NULL et 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 d'un champ
Vous pouvez utiliser ALTER pour modifier la valeur par défaut d'un champ Essayez l'exemple suivant :
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 et la clause DROP Pour supprimer la valeur par défaut d'un champ, comme indiqué 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:
Pour modifier le type de table de données, vous pouvez utiliser la commande ALTER et la clause TYPE. Essayez l'exemple suivant, nous changeons le type de table testalter_tbl en MYISAM :
Remarque : Vous pouvez utiliser l'instruction SHOW TABLE STATUS pour afficher le type de table de données.
mysql> ALTER TABLE testalter_tbl TYPE = 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: 0Max_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 y parvenir.
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 l'index des données MySQL table. Cette fonction Nous aborderons cela dans le chapitre suivant.
【Recommandations associées】
1. Recommandation spéciale : "php Programmer Toolbox" version V0.1 Télécharger
2.Tutoriel vidéo en ligne MySQL gratuit
3 Ces choses sur la conception de bases de données <.>
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!