Création d'une table
<<<
Charger des données dans une table Récupérer des informations à partir d'une table
>>>

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 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 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 maître race 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;
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 "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.

Si la commande échoue, il est probable que votre installation MySQL n'a pas la possibilité d'accéder aux fichiers. Voyez 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 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 .

<< Charger des données dans une table >>
Création d'une table Création et utilisation d'une base de données Récupérer des informations à partir d'une table