3 chat
F
2010-09-13 15:02:00 Schtroumpfette NULL
Pour vérifier, vous pouvez utiliser la requête suivante :
Code : SQL
SELECT * FROM Animal;
Deux choses importantes à retenir ici.
id est un nombre, on ne met donc pas de guillemets autour. Par contre, l'espèce, le nom, la date de naissance et le sexe
sont donnés sous forme de chaînes de caractères. Les guillemets sont donc indispensables. Quant à NULL, il s'agit d'un
marqueur SQL qui, je rappelle, signifie "pas de valeur". Pas de guillemets donc.
Les valeurs des colonnes sont données dans le bon ordre (donc dans l'ordre donné lors de la création de la table). C'est
indispensable évidemment. Si vous échangez le nom et l'espèce par exemple, comment MySQL pourrait-il le savoir ?
Insertion en précisant les colonnes
Dans la requête, nous allons donc écrire explicitement à quelle(s) colonne(s) nous donnons une valeur. Ceci va permettre deux
choses.
On ne doit plus donner les valeurs dans l'ordre de création des colonnes, mais dans l'ordre précisé par la requête.
On n'est plus obligé de donner une valeur à chaque colonne ; plus besoin de NULL lorsqu'on n'a pas de valeur à mettre.
Quelques exemples :
Code : SQL
INSERT INTO Animal (espece, sexe, date_naissance)
VALUES ('tortue', 'F', '2009-08-03 05:12:00');
INSERT INTO Animal (nom, commentaires, date_naissance, espece)
VALUES ('Choupi', 'Né sans oreille gauche', '2010-10-03
16:44:00', 'chat');
INSERT INTO Animal (espece, date_naissance, commentaires, nom, sexe)
VALUES ('tortue', '2009-06-13 08:17:00', 'Carapace bizarre',
'Bobosse', 'F');
Ce qui vous donne trois animaux supplémentaires (donc six en tout, il faut suivre !)
Insertion multiple
Si vous avez plusieurs lignes à introduire, il est possible de le faire en une seule requête de la manière suivante :
Code : SQL
INSERT INTO Animal (espece, sexe, date_naissance, nom)
VALUES ('chien', 'F', '2008-12-06 05:18:00', 'Caroline'),
('chat', 'M', '2008-09-11 15:38:00', 'Bagherra'),
('tortue', NULL, '2010-08-23 05:18:00', NULL);
Bien entendu, vous êtes alors obligés de préciser les mêmes colonnes pour chaque entrée, quitte à mettre NULL pour certaines.
Mais avouez que ça fait quand même moins à écrire !
Syntaxe alternative de MySQL
MySQL propose une syntaxe alternative à INSERT INTO ... VALUES ... pour insérer des données dans une table.
Code : SQL
Partie 1 : MySQL et les bases du langage SQL
47/414
www.openclassrooms.com
Précédent

- 47/413

Suivant