Manipulation des données
Leçon 3
Objectifs
Matrice des différents objectifs
Compétences/Concepts Objectif de l'examen Numéro
MTA de
l'objectif
de
l'examen
MTA
Utilisation des requêtes Sélectionner des 3.1
pour sélectionner les données.
données
Utilisation des requêtes Insérer des données. 3.2
pour insérer des données
Mise à jour des données Mettre à jour des 3.3
et des bases de données données.
Suppression de données Supprimer des données. 3.4
Requêtes
• La requête SELECT pour récupérer ou extraire
les données d’une table, la procédure pour
récupérer ou extraire des données à l’aide de
jointures et la procédure pour associer des
résultats à l’aide des clauses UNION
et INTERSECT.
• Vous devez veiller à ce que trois éléments
soient identifiés dans votre instruction pour
former une requête SELECT en bonne et due
forme :
– Colonnes à récupérer
– Tables à partir desquelles les récupérer
– Conditions, le cas échéant, auxquelles les
Requêtes
• SELECT first_name, last_name, salary
FROM employees
WHERE salary >= 50,000
• Cette requête peut produire ensuite les
résultats suivants :
first_name last_name
salary
----------------- -------------------
--------
John Allan
52,000
Sylvia Goddard
51,200
Julia Smith
55,000
Association des conditions
• Vous pouvez combiner plusieurs
conditions en une instruction de
requête pour répondre à vos besoins.
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’ AND gender =
‘F’ AND hired >= ‘2000-JAN-01’
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’ OR employee_id
<= 610007
Clause Between
• Dans certains cas, vous pouvez avoir
besoin de récupérer des
enregistrements répondant à une
condition de plage devant également
contenir la valeur d’une plage d’une
autre valeur spécifiée.
SELECT first_name, last_name, hire_date
FROM employees
WHERE hire_date >= ‘1-Jan-1990’ AND
hire_date <= ‘1-Jan-2000’
Clause NOT
• Dans certaines instances, vous
pouvez trouver plus simple d’écrire
votre requête pour rechercher des
données que vous ne souhaitez pas
obtenir dans votre résultat.
• Transact-SQL vous propose un mot
clé NOT à utiliser en pareil cas.
SELECT first_name, last_name
FROM employees
WHERE NOT department = ‘shipping’
Clause UNION
• La clause UNION vous permet d’associer
les résultats de deux, voire de plusieurs
requêtes dans un unique ensemble cible
qui inclura toutes les lignes appartenant à
la requête de cette union.
SELECT first_name, last_name
FROM employees
WHERE department = ‘shipping’
UNION
SELECT first_name, last_name
FROM employees
WHERE hire_date BETWEEN ‘1-Jan-1990’ AND ‘1-Jan-
2000’
Clauses EXCEPT et INTERSECT
• La clause EXCEPT retourne des
valeurs distinctes de la requête à
gauche non trouvées dans la requête
à droite.
• La clause INTERSECT retourne toute
valeur distincte non retournée par la
requête à gauche et la requête à
droite de cette opérande.
Clause JOIN
• La clause JOIN vous permet de combiner les
données associées de plusieurs sources de table
• Vous devez connaître trois types d’instructions
JOIN :
– Les JOINTURES INTERNES vous permettent de
faire correspondre les enregistrements associés
issus de différentes tables sources
– Les JOINTURES EXTERNES peuvent inclure des
enregistrements d’une ou des deux tables
interrogées n’ayant pas d’enregistrement
correspondant dans
l’autre table.
– Les JOINTURES CROISÉES retournent toutes les
lignes d’une table avec toutes les lignes de
Insertion de données
• Si vous souhaitez insérer de petites
quantités de données (par exemple,
ajout de quelques nouvelles lignes
dans votre base de données), deux
méthodes différentes sont
disponibles.
– Outil d’interface graphique
– Instruction INSERT
Instruction UPDATE
• La clause UPDATE vous permet de
modifier les données qui sont
enregistrées dans les tables en
utilisant les attributs de données, tels
que les suivants :
UPDATE <table_name>
SET <attribute> = <value>
WHERE <conditions>
Instruction DELETE
• Vous pouvez utiliser l’instruction
DELETE pour supprimer une, voire
plusieurs lignes d’une table ou d’une
vue en utilisant l’instruction SQL
suivante :
DELETE FROM <table_name>
WHERE <conditions>
INSTRUCTIONS TRUNCATE, DELETE ET
DROP TABLE
• Vous souhaitez peut-être supprimer
toutes les lignes d’une table
particulière. Vous pouvez utiliser
l’instruction TRUNCATE TABLE,
même si vous pouvez être tenté
d’utiliser l’instruction DELETE et la
condition WHERE.
TRUNCATE TABLE <table_name>
• La suppression d’une table entière
ressemble à ceci :
DROP TABLE <table_name>
Intégrité référentielle
• Une des erreurs les plus courantes de
manipulation de base de données est
la perte accidentelle de tables
complètes.
• La façon la plus simple d’éviter ce
genre de situation en premier lieu
consiste à garantir que votre base de
données utilise l’intégrité
référentielle.
• L’intégrité référentielle ne permet pas
la suppression des tables, sauf si elles
Résumé
• SELECT est la commande SQL permettant de
récupérer
les données d’une base de données.
• Vous devez veiller à ce que trois éléments soient
identifiés dans votre instruction pour former une
requête SELECT en bonne et due forme : colonnes
à récupérer, tables à partir desquelles les
récupérer et conditions (le cas échéant)
auxquelles les données doivent répondre.
• Une clause BETWEEN vous permet de spécifier la
plage
à utiliser dans un format de requête de type
« between x and y ».
• Le mot clé NOT est utilisé pour rechercher des
Résumé
• La clause UNION vous permet d’associer les
résultats de deux, voire de plusieurs requêtes
dans un unique ensemble cible qui inclura
toutes les lignes appartenant à la requête de
cette union.
• La clause EXCEPT retourne toute valeur
distincte de la requête à gauche, mais non
trouvée dans la requête
à droite. La clause INTERSECT retourne toute
valeur distincte non renvoyée tant par la
requête à gauche que celle à droite de cette
opérande.
• La clause JOIN vous permet de combiner les
Résumé
• Pour insérer les données, vous pouvez, par
exemple, utiliser l’outil d’interface graphique
ou l’instruction INSERT.
• La fonction de l’instruction UPDATE consiste à
modifier les données d’une table ou d’une
vue.
• L’instruction DELETE consiste à exécuter la
fonction exacte qu’elle stipule, à savoir
supprimer les lignes d’une table ou d’une
vue.
• L’instruction TRUNCATE TABLE consiste à
supprimer uniquement les données réelles de
la table, mais conserve la structure de la
table en place pour une prochaine utilisation.
Résumé
• La suppression d’une table complète
est possible via la commande DROP
TABLE.
• La façon la plus simple d’éviter la
suppression accidentelle de tables
entières vise à utiliser l’intégrité
référentielle. L’intégrité référentielle
ne permet pas la suppression des
tables, sauf si elles étaient
éventuellement en fin de relation.