2.4. Remplir une table avec des lignes
L'instruction
INSERT
est utilisée pour remplir une table avec des lignes :
INSERT INTO temps VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');
Notez que tous les types utilisent des formats d'entrées plutôt
évident. Les constantes qui ne sont pas des valeurs numériques
simples doivent être habituellement entourées par des guillemets
simples (') comme dans l'exemple. Le type
date est en réalité tout à fait flexible
dans ce qu'il accepte mais, pour ce tutoriel, nous collerons au
format non ambigu montré ici.
Le type point demande une paire de
coordonnées en entrée comme cela est montré ici :
INSERT INTO villes VALUES ('San Francisco', '(-194.0, 53.0)');
La syntaxe utilisée jusqu'à maintenant nécessite de se rappeler
l'ordre des colonnes. Une syntaxe alternative vous autorise à lister
les colonnes explicitement :
INSERT INTO temps (ville, t_basse, t_haute, prcp, date)
VALUES ('San Francisco', 43, 57, 0.0, '1994-11-29');
Vous pouvez lister les colonnes dans un ordre différent si vous le
souhaitez ou même omettre certaines colonnes ; par exemple, si la
précipitation est inconnue :
INSERT INTO temps (date, ville, t_haute, t_basse)
VALUES ('1994-11-29', 'Hayward', 54, 37);
De nombreux développeurs considèrent que le listage explicite des
colonnes est un meilleur style que de compter sur l'ordre implicite.
S'il vous plaît, entrez toutes les commandes vues ci-dessus de façon
à avoir des données sur lesquelles travailler dans les prochaines
sections.
Vous auriez pû aussi utiliser
COPY
pour charger de grandes
quantités de données depuis des fichiers texte. C'est habituellement
plus rapide car la commande
COPY
est optimisée pour cet emploi
mais elle est moins flexible que
INSERT
. Par exemple :
COPY temps FROM '/home/user/temps.txt';
où le nom du fichier source doit être disponible sur la machine
serveur et non pas sur le client puisque le serveur lit le fichier
directement. Vous avez plus d'informations sur la commande
COPY
dans COPY.