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, temp_basse, temp_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, temp_haute, temp_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, ex�cutez 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 larges quantit�s de donn�es depuis des fichiers textes. Cela est habituellement plus rapide car la commande COPY est optimis�e pour cet emploi mais elle est moins flexible que INSERT. Exemple :

COPY temps FROM '/home/user/temps.txt';

o� le nom pour le fichier source doit �tre disponible sur la machine serveur et non pas sur le client puisque le serveur lit le fichier directement. Vous pouvez en lire plus sur la commande COPY dans COPY.