Après la création de votre table, vous aurez besoin de la
remplir. Les commandes LOAD DATA
et
INSERT
sont utiles pour cela.
Supposons que les enregistrements de vos animaux peuvent être
décrits comme suit. (Observez que MySQL attend les dates au
format YYYY-MM-DD
; cela peut différer de ce
à quoi vous êtes habitué.)
nom | maître | races | sexe | naissance | mort |
Fluffy | Harold | chat | f | 1993-02-04 | |
Claws | Gwen | chat | m | 1994-03-17 | |
Buffy | Harold | chien | f | 1989-05-13 | |
Fang | Benny | chien | m | 1990-08-27 | |
Bowser | Diane | chien | m | 1998-08-31 | 1995-07-29 |
Chirpy | Gwen | oiseau | f | 1998-09-11 | |
Whistler | Gwen | oiseau | 1997-12-09 | ||
Slim | Benny | serpent | m | 1996-04-29 |
Puisque vous commencez avec une table vide, il est facile de la remplir en créant un fichier texte contenant une ligne pour chaque animal que vous avez, puis charger son contenu à l'aide d'une seule commande.
Vous pouvez créer un fichier animal.txt
contenant un enregistrement par ligne, avec les valeurs
séparés par des tabulations, et ordonnées comme les champs
l'étaient dans la requête CREATE TABLE
.
Pour les données manquantes (comme un sexe inconnu ou la date
de mort d'un animal toujours en vie), vous pouvez utiliser les
valeurs NULL
. Pour les représenter dans
votre fichier texte, utilisez \N
. Par
exemple, l'enregistrement de Whistler l'oiseau ressemblera à
¸a (l'espace entre les valeurs est une tabulation) :
nom | maître | race | sexe | naissance | mort |
Whistler |
Gwen |
bird |
\N |
1997-12-09 |
\N |
Pour charger le fichier animal.txt
dans la
table animal
, utilisez cette commande :
mysql> LOAD DATA LOCAL INFILE "animal.txt" INTO TABLE animal;
Notez que si vous créez un fichier sur Windows, avec un
éditeur qui utilise des caractères de lignes comme
\r\n
, vous devez utiliser :
mysql> LOAD DATA LOCAL INFILE "animal.txt" INTO TABLE animal;
Vous pouvez spécifier la valeur du séparateur de colonnes et
le marqueur de fin de lignes explicitement dans la commande
LOAD DATA
si vous le voulez, mais les valeurs
par défaut sont la tabulation et le retour à la ligne.
Ceux-là sont suffisants pour que la commande lise le fichier
animal.txt
correctement.
Si la commande échoue, il est probable que votre installation MySQL n'a pas la possibilité d'accéder aux fichiers. Voyez Section 5.4.4, « Problèmes de sécurité avec LOAD DATA LOCAL » pour plus d'informations sur comment modifier cela.
Lorsque vous voulez ajouter des enregistrements un par un, la
commande INSERT
est utile. Dans sa forme la
plus simple, où vous spécifiez une valeur pour chaque colonne,
dans l'ordre où les colonnes sont listées dans la requête
CREATE TABLE
. Supposons que Diane achète un
nouvel hamster nommé Puffball. Vous pourriez ajouter ce nouvel
enregistrement en utilisant un INSERT
de la
fa¸on suivante :
mysql>INSERT INTO animal
->VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Notez que les chaînes de caractères et les valeurs de dates
sont spécifiées en tant que chaînes protégées par des
guillemets. De plus, avec INSERT
vous pouvez
insérer la valeur NULL
directement pour
représenter une valeur manquante. Vous n'utilisez pas
\N
comme vous le faites avec LOAD
DATA
.
A partir de cet exemple, vous devriez être capable de voir
qu'il y a beaucoup plus de commandes à taper lorsque vous
utilisez la commande INSERT
au lieu de
LOAD DATA
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.