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 :
Exécutons-le et voyons le résultat :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
类别 | 详细解示 |
---|---|
基本语法 | alter table 表名 modify 字段名 varchar(20); |
示例 | alter table user modify username varchar(20); |
示例说明 | 将user表的username的类型改为varchar(20) |
Requête OK, 0 ligne affectée (0,48 sec)
Enregistrements : 0 Doublons : 0 Avertissements : 0mysql> +----------+---------------+------+----------+--------- +-------+
| nom d'utilisateur | varchar(20) | OUI | | mot de passe | varchar(32) | OUI | | créertime | int(10) | OUI | | créerip | int(10) | OUI | +----------+---------------+------+----------+--------- +-------+
| Champ | Null | Clé par défaut |
+----------+---------------+------+----------+--------- +-------+4 lignes dans l'ensemble (0,01 sec)
Ajouter des champs de tableaumysql> alter table emp add column age int(3);
Requête OK, 0 ligne affectée (0,40 sec)
Enregistrements : 0 Doublons : 0 Avertissements : 0mysql> +----------+---------------+------+----------+--------- +-------+
| 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 : 0mysql> 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 : 0mysql> 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 : 0Nous 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'ordremysql> 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.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 |
5 lignes dans l'ensemble (0,00 sec)
+----------+---------------+------+----------+--------- +-------+
| 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 | +----------+---------------+------+----------+--------- +-------+修改表名
类别 详细解示 基本语法 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)