Insérer des données
INSERT INTO nom_table VALUES ('valeur 1', 'valeur 2', ...);
ou, si on veut agir seulement sur certaines colonnes :
INSERT INTO nom_table (nom_colonne_1, nom_colonne_2, ...)
VALUES ('valeur 1', 'valeur 2', ...);
Insertion du résultat d’un SELECT
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
Modifier des données
UPDATE nom_table
SET nom_colonne_1 = 'valeur_1', colonne_2 = 'valeur_2', ...
WHERE condition;
Détruire des enregistrements :
DELETE FROM nom_table
WHERE conditions ;
Si vous ne mettez pas de condition, cela veut dire que vous effacez toute la table ! |
Une utilisation de la clause WITH
dans une opération de destruction
Ici, on modifie des lignes d’une table, et on garde trace de ces lignes dans une table de logs :
WITH moved_rows AS (
DELETE FROM products
WHERE
"date" >= '2010-10-01' AND
"date" < '2010-11-01'
RETURNING *
)
INSERT INTO products_log
SELECT * FROM moved_rows;
On notera l’usage de RETURNING
.
Modifier une table (par exemple rajouter une colonne)
ALTER TABLE nom_table
ADD nom_colonne type_donnees ;