2.3. Créer une nouvelle table

Vous pouvez créer une nouvelle table en spécifiant le nom de la table, suivi de tous les noms de colonnes et de leur type :

CREATE TABLE temps (
    ville           varchar(80),
    temp_basse      int,           -- température basse
    temp_haute      int,           -- température haute
    prcp            real,          -- précipitation
    date            date
);

Vous pouvez entrer cela dans psql avec les sauts de lignes. psql reconnaîtra que la commande n'est pas terminée jusqu'à ce qu'il arrive au point-virgule.

Les espaces blancs (c'est-à-dire les espaces, les tabulations et les nouvelles lignes) peuvent librement être utilisés dans les commandes SQL. Cela signifie que vous pouvez saisir la commande ci-dessus alignée différemment ou même tout sur une seule ligne. Deux tirets (<< -- >>) introduisent des commentaires. Ce qui les suit est ignoré jusqu'à la fin de la ligne. SQL est insensible à la casse pour les mots-clé et les identifiants excepté quand les identifiants sont entre double guillemets pour préserver leur casse (non fait ci-dessus).

varchar(80) spécifie un type de données pouvant contenir une chaîne de caractères arbitraires de 80 caractères au maximum. int est le type entier normal. real est un type pour les nombres décimaux en simple précision. date devrait s'expliquer de lui-même. (Oui, la colonne de type date est aussi nommée date. Cela peut être commode ou porter à confusion, à vous de choisir.)

PostgreSQL prend en charge les types SQL usuels int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp et interval ainsi que d'autres types d'utilité générale et un riche ensemble de types géométriques. PostgreSQL peut être personnalisé avec un nombre arbitraire de types de données définis par l'utilisateur. En conséquence, les noms des types ne sont pas des mots-clé syntaxiques sauf lorsqu'il est requis de supporter des cas particuliers dans la norme SQL.

Le second exemple stockera des villes et leur emplacement géographique associé :

CREATE TABLE villes (
    nom            varchar(80),
    emplacement    point
);

Le type point est un exemple d'un type de données spécifique à PostgreSQL.

Pour finir, il devrait être mentionné que si vous n'avez plus besoin d'une table ou que vous voulez la recréer différemment, vous pouvez l'enlever en utilisant la commande suivante :

DROP TABLE nom_table;