Maison  >  Article  >  base de données  >  Comment ajouter des colonnes (champs) à une table dans MySQL ?

Comment ajouter des colonnes (champs) à une table dans MySQL ?

青灯夜游
青灯夜游original
2020-09-28 10:12:1129388parcourir

Méthode MySQL pour ajouter des colonnes à une table : 1. Utilisez "ALTER TABLE table name ADD new field name data type [contraintes] ;" pour ajouter des colonnes à la fin ; nouveau type de données de nom de champ [Contrainte] PREMIER ;" Ajouter des colonnes au début.

Comment ajouter des colonnes (champs) à une table dans MySQL ?

(Tutoriel recommandé : Tutoriel vidéo MySQL)

La table de données MySQL est composée de lignes et de colonnes, généralement le les « colonnes » de la table sont appelées champs et les « lignes » de la table sont appelées enregistrements. À mesure que votre entreprise évolue, vous devrez peut-être ajouter de nouveaux champs aux tables existantes.

MySQL permet d'ajouter des champs au début, au milieu et à la fin.

Ajouter un champ à la fin

Un champ complet comprend le nom du champ, le type de données et les contraintes. Le format de syntaxe pour ajouter des champs dans MySQL est le suivant :

ALTER TABLE <表名> ADD <新字段名><数据类型>[约束条件];

La description du format de syntaxe est la suivante : 🎜>

    e2139e0211d13e8d82b3e793e4d3fd8a être ajouté ;
  • 9f3bf3397e6bee378c45e3e45b2b9dc4 est le champ qui peut être ajouté pour stocker les données
  • [Contraintes] est. facultatif et est utilisé pour contraindre les champs ajoutés.
  • Ce format de syntaxe ajoute un nouveau champ à la dernière position du tableau (après la dernière colonne) par défaut.
  • Remarque : Dans cette section, nous ajoutons uniquement de nouveaux champs et ne prêtons pas attention à ses contraintes.

Instance 1

Créez une nouvelle table de données d'étudiant dans la base de données de test Les instructions SQL et les résultats d'exécution sont les suivants :
mysql> USE test;
Database changed
mysql> CREATE TABLE student (
    -> id INT(4),
    -> name VARCHAR(20),
    -> sex CHAR(1));
Query OK, 0 rows affected (0.09 sec)
Utilisez DESC pour afficher les étudiants. La structure de la table, les instructions SQL et les résultats d'exécution sont les suivants :

mysql> DESC student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
Utilisez l'instruction ALTER TABLE pour ajouter un champ de type INT age, les instructions SQL et les résultats d'exécution sont les suivants :
mysql> ALTER TABLE student ADD age INT(4);
Query OK, 0 rows affected (0.16 sec)
Records: 0  Duplicates: 0  Warnings: 0

Utilisez DESC pour afficher la structure de la table des étudiants, vérifiez si le champ d'âge est ajouté avec succès. L'instruction SQL et les résultats en cours d'exécution sont les suivants :

mysql> DESC student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(4)      | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
| age   | int(4)      | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Comme vous pouvez le voir sur les résultats en cours, le champ âge a été ajouté à la table des étudiants et le champ se trouve à la dernière position du table. Le champ a été ajouté avec succès.

Ajouter des champs au début

MySQL ajoute de nouveaux champs à la dernière position du tableau par défaut. au début (avant la première colonne) ) pour ajouter un nouveau champ, vous pouvez utiliser le mot-clé FIRST, le format de syntaxe est le suivant :

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] FIRST;
Le mot-clé FIRST est généralement placé à la fin de l'instruction. Exemple 2

Utilisez l'instruction ALTER TABLE pour ajouter le champ de type INT stuId dans la première colonne de la table. L'instruction SQL et les résultats d'exécution sont les suivants.

mysql> ALTER TABLE student ADD stuId INT(4) FIRST;
Query OK, 0 rows affected (0.14 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| stuId | int(4)      | YES  |     | NULL    |       |
| id    | int(4)      | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
| age   | int(4)      | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Comme vous pouvez le voir sur les résultats en cours, le champ stuId a été ajouté à la table des étudiants et le champ est en première position dans la table. Le champ a été ajouté avec succès.

Ajouter des champs au milieu

En plus de permettre l'ajout de champs au début et à la fin du tableau, MySQL permet également d'ajouter champs au milieu (après le champ spécifié), vous devez utiliser le mot-clé AFTER. Le format de syntaxe est le suivant :

ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] AFTER <已经存在的字段名>;
La fonction d'AFTER est d'ajouter un nouveau champ après un champ existant. Notez que vous ne pouvez ajouter un nouveau champ qu'après un champ existant, mais pas devant celui-ci.

Exemple 3

Utilisez l'instruction ALTER TABLE pour ajouter un champ nommé stuno avec le type de données INT dans la table étudiant. Le champ stuno est situé après le champ de nom. L'instruction SQL et les résultats en cours d'exécution sont les suivants :

mysql> ALTER TABLE student ADD stuno INT(11) AFTER name;
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0
 
mysql> DESC student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| stuId | int(4)      | YES  |     | NULL    |       |
| id    | int(4)      | YES  |     | NULL    |       |
| name  | varchar(20) | YES  |     | NULL    |       |
| stuno | int(11)     | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | NULL    |       |
| age   | int(4)      | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

Comme vous pouvez le voir sur les résultats en cours, le champ stuId a été ajouté à la table student et le champ est situé derrière le champ name. ajouté avec succès.

Recommandations associées : formation php

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!

Déclaration:
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