ISAIP-EPID Formation IRIISQL SERVER /Transact-SQL 04/01/03
Bancquart Page 5 sur 5 CPI-BD-Cours-Transac SQL.doc
Liste de colonne pour la table est facultative, pour ajouter des valeurs null, ne pas
indiquer la colonne dans la liste : Insert [into] nom_table [(liste_colonne)] {
values (expression, [expression] …) | instruction select
Exercice : insert publishers values ("9934" , "germinal" , "Dunkerque", "NO", "FR")
UPDATE : modifie tout ou une partie d'une ligne existante :
Update table set col = " val"
update nom_table Set nom_colonne = « valeur » where condition
EXERCICE : update discounts
set discounttype = " remise maxi de philippe" where stor_id = 1000
update titles set price = price * 0.9 where pubdate < "JAN 1, 1993"
¾DELETE : permet de supprimer les lignes d'une table avec ou non une
restriction (where) delete publishers where state = "NO"
¾TRUNCATE : Supprime toutes les lignes, il est plus rapide mais il supprime
toutes les lignes.
DELETE effectue une écriture dans le journal, on peut donc gérer des
RollBack. Truncate impossible de revenir en arrière.
Exercice : Insertion d’un enregistrement dans la table discount
insert discounts values ("ma remise",1000, 5, 9, 6.4)
Cela ne fonctionne pas, en effet l’identifiant magasin 1000 n’existe pas dans la
table Stores. Nous voyons ici l’interêt des clés étrangères, il n’est pas possible de
faire une erreur, cad affecter des commandes à un magasin qui n’existe pas.
Création du magasin Philippe id=1000
insert stores (stor_id , stor_name) values (1000, "philippe")
On précise que certains champs à insérer.
Rejouer la commande Insert Î erreur
insert discounts values ("ma remise",1000,5,9,6.4) : Par défaut tous les
champs
Suppression : Delete from nom_table where condition
EXERCICE
insert discounts values ("ma remise",6380,5,9,6.4)
insert discounts values ("ma remise",6380,5,9,6.4)
insert discounts values ("ma remise",6380,5,9,6.4)
select * from discounts
delete from discounts where stor_id = 6380
select * from discounts
Convertions