Opérations sur les champs de données MySQL

Supposons que nous ayons une table utilisateur et que la structure des utilisateurs est la suivante :

mysql> desc user;
+----------+---------------+------+----------+--------- +-------+
| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+
| nom d'utilisateur | varchar(10) | OUI | | mot de passe | varchar(32) | OUI | | créertime | int(10) | OUI | | créerip | int(10) | OUI | +----------+---------------+------+----------+--------- +-------+
4 lignes dans l'ensemble (0,01 sec)


Modifier le type de champ de table modifier

Exécutons-le et voyons le résultat :

类别详细解示
基本语法alter table 表名 modify 字段名 varchar(20);
示例alter table user modify username varchar(20);
示例说明将user表的username的类型改为varchar(20)
mysql> modifier l'utilisateur de la table modifier le nom d'utilisateur varchar(20);

Requête OK, 0 ligne affectée (0,48 sec)

Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> +----------+---------------+------+----------+--------- +-------+
| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+

| nom d'utilisateur | varchar(20) | OUI | | mot de passe | varchar(32) | OUI | | créertime | int(10) | OUI | | créerip | int(10) | OUI | +----------+---------------+------+----------+--------- +-------+

4 lignes dans l'ensemble (0,01 sec)


Ajouter des champs de tableau

mysql> alter table emp add column age int(3);
Requête OK, 0 ligne affectée (0,40 sec)
Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> +----------+---------------+------+----------+--------- +-------+
| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+
| nom d'utilisateur | varchar(20) | OUI | | mot de passe | varchar(32) | | créertime | int(10) | OUI | | créerip | int(10) | OUI | | âge | int(3) | OUI | +----------+---------------+------+----------+--------- +-------+
5 lignes dans l'ensemble (0,00 sec)


Contrôlez l'ordre des champs lors de l'ajout de champs

Nous venons d'apprendre à ajouter des champs. Si vous expérimentez soigneusement et constatez qu'à chaque fois il est ajouté à la fin, comment l'ajouter au premier ou après le champ de pointage ?

ALTER TABLE utilisateur ADD email VARCHAR(60) AFTER createip ;
 Requête OK, 0 ligne affectée (0,40 sec)
 Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> utilisateur desc;
 +----------+---------------+------+----------+--------- +-------+
 | Champ   | Tapez          | Nulle | Clé | Par défaut | Extra |
 +----------+---------------+------+----------+--------- +-------+
 | nom d'utilisateur  | varchar(20)   | OUI  |     | NULL    |     |
 | mot de passe   | varchar(32)   | OUI  |     | NULL    |     |
 | temps de création | int(10)       | OUI  |     | NULL    |     |
 | créerip   | int(10)       | OUI  |     | NULL    |     |
 | e-mail      | varchar(60)   | OUI  |     | NULL    |     |
 | âge        | int(3)        | OUI  |     | NULL    |     |
 +----------+---------------+------+----------+--------- +-------+
 6 lignes dans l'ensemble (0,00 sec)

删除表字段

类别详细解示
基本语法alter table 表名 drop column 字段名;
示例alter table user drop column age;
示例说明在user表中删除字段age

mysql> modifier l'âge de la colonne supprimée par l'utilisateur de la table ;
 Requête OK, 0 ligne affectée (0,27 sec)
 Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> utilisateur desc;
 +----------+---------------+------+----------+--------- +-------+
 | Champ   | Tapez          | Nulle | Clé | Par défaut | Extra |
 +----------+---------------+------+----------+--------- +-------+
 | nom d'utilisateur  | varchar(20)   | OUI  |     | NULL    |     |
 | mot de passe   | varchar(32)   | OUI  |     | NULL    |     |
 | temps de création | int(10)       | OUI  |     | NULL    |     |
 | créerip   | int(10)       | OUI  |     | NULL    |     |
 | e-mail      | varchar(60)   | OUI  |     | NULL    |     |
 +----------+---------------+------+----------+--------- +-------+
 5 lignes dans l'ensemble (0,00 sec)

表字段改名

类别详细解示
基本语法alter table 表名 change 字段原名 字段新名 字段类型;
示例alter table user change email em varchar(60);
示例说明在user表中将字段中的email字段名字为em

Exemple détaillé :

mysql> modifier la table, l'utilisateur change l'e-mail em varchar(60);
Requête OK, 0 ligne affectée (0,38 sec)
Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> utilisateur desc ;
+----------+---------------+------+----------+--------- +-------+
| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+
| nom d'utilisateur | varchar(20) | OUI | | mot de passe | varchar(32) | | créertime | int(10) | OUI | | créerip | int(10) | OUI | | em | varchar(60) | OUI | +----------+---------------+------+----------+--------- +-------+
5 lignes dans l'ensemble (0,00 sec)


Modifier l'ordre des champs du tableau

Dans les instructions précédentes d'ajout et de modification de champ (ajouter/changer/modifier), vous pouvez en ajouter une à la fin Facultatif premier|après.

Nous avons déjà appris comment ajuster l'ordre lors de l'ajout de champs de tableau. Voyons maintenant comment un autre changement ou modification peut ajuster l'ordre.

Faisons d'abord une petite expérience en utilisant.

Utilisez modifier pour ajuster l'ordre

mysql> modifier la table, l'utilisateur modifie d'abord em varchar(60) ;

Requête OK, 0 ligne affectée (0,41 sec)

Enregistrements : 0 Doublons : 0 Avertissements : 0

mysql> +----------+---------------+------+----------+--------- +-------+

| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+
| em | varchar(60) | OUI | | nom d'utilisateur | varchar(20) | OUI | | mot de passe | varchar(32) | | créertime | int(10) | OUI | | créerip | int(10) | OUI | +----------+---------------+------+----------+--------- +-------+

5 lignes dans l'ensemble (0,00 sec)

修改表名

类别详细解示
基本语法alter table 旧表名 rename 新的表名;
示例alter table user rename new_user;
示例说明将user表名改为new_user

mysql> modifier l'utilisateur de la table renommer new_user ;
 Requête OK, 0 ligne affectée (0,35 sec)

mysql> desc new_user;
 +----------+---------------+------+----------+--------- +-------+
 | Champ   | Tapez          | Nulle | Clé | Par défaut | Extra |
 +----------+---------------+------+----------+--------- +-------+
 | em         | varchar(60)   | OUI  |     | NULL    |     |
 | nom d'utilisateur  | varchar(20)   | OUI  |     | NULL    |     |
 | mot de passe   | varchar(32)   | OUI  |     | NULL    |     |
 | temps de création | int(10)       | OUI  |     | NULL    |     |
 | créerip   | int(10)       | OUI  |     | NULL    |     |
 +----------+---------------+------+----------+--------- +-------+
 5 lignes dans l'ensemble (0,00 sec)

Formation continue
||
<?php echo "Hello Mysql"; ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel