Magazine Informatique

Gestion de données en SQL (DML)

Publié le 05 décembre 2012 par Lolokai @lolokai

Introduction

Jusqu’à maintenant nous avons vu principalement comment extraire des données de notre base. Aujourd’hui nous allons voir ensemble quelques instructions DML(data manipulation langage) qui vont nous permettre d’ajouter (insert) , de mettre à jour (update) et de supprimer (delete) nos données.

Script

Create table students (
student_id number(8) constraint students_stid_pk primary key ,
last_name varchar2(25),
first_name varchar2(25),
promotion char(2) ,
job_id varchar2(50) ) ;

Nous allons tout au long de cet article travailler sur la table students. Cette table recense des informations sur des élèves et le métier qu’ils aimeraient faire.

Insertion de données

Le mot clé « INSERT » va nous permettre d’ajouter des enregistrements dans notre table.

Voyons la syntaxe :

INSERT INTO table_name [(column[,column…])]

VALUES (value [, value…])

Rien de mieux que des exemples :

INSERT INTO students (student_id , last_name, first_name , promotion , job_id)
VALUES (1 , 'Assoumani' , 'Saïd' , 'B3' , 'Database Admin') ;

Ici dans la clause « INSERT INTO », on spécifie les colonnes que l’on souhaite remplir et dans la clause « VALUES » on donne respectivement les valeurs que l’on souhaite mettre dans ces colonnes. Il faut savoir qu’on n’est pas obligé de remplir toutes les colonnes, les colonnes non citées dans l’instruction auront une valeur nulle.

INSERT INTO students (student_id , last_name, first_name , promotion)
VALUES (2 , 'Taochy' , 'Samuel' , 'B3' ) ;

Ici l’élève ayant pour student_id 2,  n’a pas encore préciser le métier qu’il aimerait faire.

On a aussi la possibilité de spécifier aucune colonne, dans ce cas il va falloir remplir tous les champs et surtout dans l’ordre de création de la table.

Je m’explique, dans notre table students on a créé en premier la colonne student_id et en second la colonne last_name… donc lors de notre insert nous devrons respecter scrupuleusement cet ordre si nous spécifions aucune colonne.

INSERT INTO students
VALUES (3 , 'Auckburally','Yassin' , 'B3','Network Admin' );

Gestion de données en SQL (DML)

Modification de données

L’élève Samuel Taochy m’a fait comprendre qu’il aimerait devenir Administrateur Système. Il me faut donc rajouter cette information dans notre table students. Le mot clé « UPDATE» va nous permettre de modifier des enregistrements dans notre table.

Voyons la syntaxe :

UPDATE table_name

SET   column = value [, column = value, ...]

[WHERE  condition];

Rien de mieux qu’un exemple :

UPDATE students
SET job_id = 'System Admin'
WHERE student_id = 2 ;

Avec cette instruction j’ai mis à jour la colonne job_id de l’étudiant numéro 2. Attention Si on omet la clause « WHERE » alors la modification va s’appliquer sur tous les enregistrements de notre table.

Gestion de données en SQL (DML)

Suppresion de données

Le mot clé « DELETE» va nous permettre de supprimer des enregistrements dans notre table.

Voyons la syntaxe :

DELETE [FROM] table_name

[WHERE  condition];

Rien de mieux qu’un exemple :

DELETE FROM students
WHERE student_id = 1 ;

Avec cette instruction, j’ai supprimé de notre table les informations sur l’élève Assoumani Said. Attention Si on omet la clause « WHERE » alors la suppression va s’appliquer à tous les enregistrements de notre table.

Gestion de données en SQL (DML)

Conclusion

Nous venons de voir ensemble comment ajouter, modifier et supprimer des enregistrements dans notre base de données. Nous avons vu aussi que la clause « WHERE » est importante pour le cas des « UPDATE » et « DELETE ». En effet, si on oublie de mettre cette clause la modification ou la suppression va affecter toutes les lignes de notre tables. Nous verrons dans le prochain article comment on peut annuler ce genre d’erreur et aussi comment validé les modifications que l’on a apporté a notre base.Said ASSOUMANI


Retour à La Une de Logo Paperblog

A propos de l’auteur


Lolokai 189 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte