Maison > base de données > tutoriel mysql > le corps du texte

Partagez un exemple de la commande MySQL ALTER

零下一度
Libérer: 2017-05-16 10:35:40
original
1068 Les gens l'ont consulté

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)
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion
.

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)
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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)
Copier après la connexion

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:
Copier après la connexion

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)
Copier après la connexion

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;
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!