3.3 Création et utilisation d'une base de données
3 Tutoriels d'introduction
Manuel de Référence MySQL 4.1 : Version Française
. Créer et sélectionner une base de données . Création d'une table ->Charger des données dans une table . Récupérer des informations à partir d'une table
|
3.3.3 Charger des données dans une table
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
|
maitre
|
especes
|
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
pet.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
|
maitre
|
especes
|
sexe
|
naissance
|
mort
|
Whistler
|
Gwen
|
bird
|
\N
|
1997-12-09
|
\N
|
Pour charger le fichier
pet.txt
dans la table
pet
, utilisez cette
commande :
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;
|
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
pet.txt
correctement.
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 pet -> 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
.
|