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 | | age | 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 ? ?| ? ? |
?| age ? ? ? ?| 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'age 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)