Synthèse des fondamentaux d`SQL

publicité
MEMO – Je pars de zéro en SQL
AAT's Creations et Formations – www.aat-s.com
1
SOMMAIRE
Jour 1
1) SQL c’est quoi ?
a)
b)
c)
Généralités
SQL et les normes
Les types de données
2) Les opérations
a)
b)
c)
d)
e)
Insertion
Sélection
Suppression/modification
Les prédicats (opérateurs)
Jointure
3) Manipuler les données
a)
b)
Jour 2
4) Opération avancées
a)
b)
Opération de regroupement
Opérateurs ensemblistes
5) Langage de définition des données
a)
b)
c)
Description des vues
Description des index
Notion de procédures stockées
6) Sécurité des données
a)
b)
Contraintes d’intégrité
Gestion des droits des utilisateurs
Fonction SQL standards
Les requêtes imbriquées
Jour 3
TP + Evaluation
AAT's Creations et Formations – www.aat-s.com
2
C’est quoi SQL - Résumé
SQL (Structured Query Language, en français langage de requête structurée) est
un langage informatique normalisé servant à exploiter des bases de données
relationnelles.
Normalisé par l'ISO en 1987 sous le nom de ISO/CEI 9075 - Technologies de
l'information - Langages de base de données - SQL.
Le langage SQL s'utilise principalement de trois manières :
-
-
Par les programmeurs pour communiquer avec leur base de données
Par la technique « embeded » : incorporées dans le code source d'un programme écrit dans un autre
langage.
Par les procédures stockées : des fonctions écrites en langage SQL sont enregistrées dans la base de
données en vue d'être exécutées par le SGBD
SQL définit plusieurs types de données : des numériques entiers, des numériques
décimaux, des textes alphanumériques, des chaînes binaires alphanumériques et des
données temporelles.
Il est important de bien comprendre les usages et particularités de chaque type de
données, afin de choisir le meilleur type possible lorsque vous définissez les
colonnes de vos tables.
3
Les opérations - Résumé
Pour insérer des lignes dans une table, on utilise la commande INSERT INTO
Si l'on ne précise pas à quelles colonnes on donne une valeur, il faut donner une valeur
à toutes les colonnes, et dans le bon ordre.
La commande SELECT permet d'afficher des données.
La clause WHERE permet de préciser des critères de sélection.
Il est possible de trier les données grâce à ORDER BY, selon un ordre ascendant ASC
ou descendant DESC
Pour éliminer les doublons, on utilise le mot-clé DISTINCT, juste après SELECT
La commande DELETE permet de supprimer des données de manière irréversible
La commande UPDATE permet de modifier des données
L'opérateur LIKE permet de faire des recherches approximatives, grâce aux deux
caractères "joker" : ’%’ et ‘_’
L'opérateur BETWEEN permet de faire une recherche sur un intervalle
L'opérateur IN permet de faire une recherche sur une liste de valeurs.
INNER JOIN : jointure interne pour retourner les enregistrements quand la condition est
vrai dans les 2 tables. C’est l’une des jointures les plus communes.
4
Manipulation de données- Résumé
Les fonctions SQL permettent d’effectuer des requêtes plus élaborées. Les principales
sont :
• SUM() calculer la somme d’un set de résultat
• MAX() obtenir le résultat maximum (fonctionne bien pour un entier)
• MIN() obtenir le résultat minimum
• COUNT() compter le nombre de lignes dans un résultat
• ROUND() arrondir la valeur
• UPPER() afficher une chaîne en majuscule
• LOWER() afficher une chaîne en minuscule
• NOW() date et heure actuelle
• RAND() retourner un nombre aléatoire
• CONCAT() concaténer des chaînes de caractères
Dans le langage SQL une requête imbriquée consiste à exécuter une requête à
l’intérieur d’une autre requête. Elle est souvent utilisée au sein d’une clause WHERE ou
de HAVING pou remplacer une ou plusieurs constante.
5
Opérations avancées - Résumé
La commande GROUP BY est utilisée pour grouper plusieurs résultats et utiliser une
fonction de totaux sur un groupe de résultat.
ATTENTION : Cette commande doit toujours s’utiliser après la commande WHERE et
avant la commande HAVING.
La condition HAVING est presque similaire à WHERE à la seule différence que HAVING
permet de filtrer en utilisant des fonctions telles que SUM(), COUNT(), AVG(), MIN() ou
MAX().
La commande UNION permet de mettre bout-à-bout les résultats de plusieurs
requêtes utilisant elles-mêmes la commande SELECT.
La commande INTERSECT permet d’obtenir l’intersection des résultats de 2 requêtes.
La commande UNION permet de mettre bout-à-bout les résultats de plusieurs
requêtes utilisant elles-mêmes la commande SELECT.
La commande MINUS s’utilise entre 2 instructions pour récupérer les enregistrements
de la première instruction sans inclure les résultats de la seconde requête.
6
Langage de définition- Résumé
On peut définir une vue comme étant une table dite virtuelle, qui a la même utilisation
qu’une table, simplement une vue ne prend pas d’espace sur le disque, puisqu’elle
ne stocke pas les données comme une table.
l’atout majeur des vues ? la sécurité d’accès aux données.
la commande CREATE INDEX permet de créer un index. L’index est utile pour
accélérer l’exécution d’une requête SQL qui lit des données et ainsi améliorer les
performances d’une application utilisant une base de données.
Les procédures stockées sont des ensembles d’instructions pouvant être exécutés
par simple appel de leur nom ou par l’instruction EXECUTE.
Pour résumer les avantages des procédures stockées, nous allons lister leurs
utilisations :
- Accroissement des performances.
- Sécurité d’exécution.
- Possibilité de manipuler les données système.
- Implémente le traitement en cascade et l’enchainement d’instructions.
7
Sécurité des données - Résumé
Les utilisateurs et leurs privilèges sont stockés dans la base de données mysql.
On peut manipuler directement les tables de la base mysql, ou utiliser les commandes
dédiées pour gérer les utilisateurs ( CREATE USER, DROP USER, …) et leurs
privilèges (GRANT, REVOKE).
Lorsque l'on accorde un privilège à un utilisateur, il faut également préciser à quel
niveau on le lui accorde (global, base de données, table, colonne, procédure).
Le privilège ALL permet d'accorder en une fois tous les privilèges, sauf GRANT OPTION
Le privilège USAGE permet de modifier les options d'un utilisateur avec la commande GRANT
sans modifier ses privilèges. Quant à GRANT OPTION cela permet à un utilisateur d'accorder à
d'autres les privilèges qu'il possède.
8
Téléchargement