Table des matières

Manipulation de données SQL

L'instruction INSERT

La commande INSERT permet d'insérer une ligne dans une table en spécifiant les valeurs à insérer. Il existe plusieurs possibilités pour y parvenir.

Prenons comme exemple la table origine: origine(id_origine, nom_origine);

Nous voulons créer l'enregistrement suivant:

id_origine → 1

nom_origine → STI2D

1ère possibilité

INSERT INTO table (attribut1, attribut2...)
           VALUES (valeur1, valeur2...);

Exemple:

INSERT INTO origine (id_origine, nom_origine)
             VALUES (1, "STI2D");

2ème possibilité

INSERT INTO table VALUES (valeur1, valeur2...);

Exemple:

INSERT INTO origine VALUES (1, "STI2D);

Si vous renseignez la totalité des valeurs, vous n'avez pas l'obligation d'indiquer les attributs.

3ème possibilité

Vous devez maintenant saisir plusieurs enregistrements.

INSERT INTO TABLE (attribut1, attribut2...)
           VALUES (valeur1, valeur2...),
                  (valeur1, valeur2...);
                  ...

Exemple:

INSERT INTO TABLE (id_origine, nom_origine...)
           VALUES (1, "STI2D"),
                  (2, "S");         

4ème possibilité

Imaginez le cas où vous avez une table prospect et ces derniers deviennent des clients. Vous n'allez pas recopier la table dans la suivante par une série de INSERT, voici donc la méthode:

INSERT INTO table1 (attributTable1_1, attributTable_2, attributTable1_3, attributTable1_4...)
       SELECT attributTable2_1, attributTable2_2, attributTable2_3, attributTable2_4...)
       FROM table2;

Exemple:

INSERT INTO client (cli_ID, tit_CODE, cli_NOM, cli_PRENOM...)
       SELECT prp_ID, prp_CODE, prp_NOM, prp_PRENOM)
       FROM prospect; 

L'instruction UPDATE

La commande UPDATE permet de modifier les valeurs d'une ou plusieurs colonnes, dans une ou plusieurs lignes existantes d'une table.

Attention, cette instruction est dangereuse. Si aucune restriction n'est stipulée. Toutes les données de la colonne seront modifiées.

UPDATE table
SET attribut = valeur;

Exemple:

UPDATE tarif
SET tarif_dejeuner = 8;