Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Cours SQL
2
INTRODUCTION Une base de données est un ensemble d'informations structurées. Un SGBDR (Système de Gestion de Bases de Données Relationnel) est un logiciel qui permet de : - stocker, - consulter, - modifier, - supprimer les données de la base de données. Un SGBDR stocke les informations dans des tables.
3
Définitions SQL (Strutured Query Language) :
- est le langage utilisé pour accéder aux données d'une base de données. - est normalisé. C'est un standard adopté par l'ANSI (American National Standards Institute). ANSI SQL89 - est un langage ensembliste (non procédural) - est un langage « universel » utilisé par : * les administrateurs * les développeurs * les utilisateurs pour : administrer et contrôler définir et développer manipuler
4
Les commandes Commandes de manipulation des données : - SELECT : interrogation - INSERT : insertion - UPDATE : mise à jour - DELETE : suppression Les commandes de définition de données : - CREATE : création d'un objet - ALTER : modification d'un objet - TRUNCATE : supprimer les lignes d'une table - DROP : supprimer un objet - RENAME : renommer un objet Remarque : les commandes GRANT et REVOKE seront vues dans le cours d'administration.
5
Catégorie Commandes SQL Description des données (DDL) CREATE
Création de tables ALTER Modification de tables DROP Suppression de tables Manipulation des données (DML) INSERT Insertion de lignes dans une table UPDATE Mise à jour de lignes dans une table DELETE Suppression de lignes dans une table
6
Contrôle des données (DCL)
GRANT Attribution de droits d'accès REVOKE Suppression de droits d'accès COMMIT Prise en compte des mises à jour ROLLBACK Suppression des mises à jour Interrogation des données SELECT Interrogations diverses
7
Les objets Les objets du SGBD Relationnel ORACLE sont les suivants : - les Tables, - les Vues, - les Index, - les Séquences, - les Synonymes, - les Clusters. Seuls les objets TABLES, VUES, INDEX et SYNONYMES seront vus dans ce cours.
8
Créer une Base de données
Une base de données, usuellement abrégée en BD ou BDD, est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données). Syntaxe simple : Create database Nom_Base ex : Create database MaBase Quand on utilise cette commande simple, SQL choisi des valeurs par défauts pour la taille du fichier de base et journal leurs noms leurs incrémentations etc.…,
9
CREATE TABLE CREATE TABLE "nom de table" ("colonne 1" "type de données pour la colonne 1", "colonne 2" "type de données pour la colonne 2", ... ); Exemple : CREATE TABLE Customer (First_Name char(50), Last_Name char(50), Address char(50), City char(50), Country char(25), Birth_Date datetime);
10
clé primaire La clé primaire concourt à identifier uniquement chaque ligne d’une table. Elle peut représenter une partie d’un enregistrement concret, ou être un champ artificiel (un champ qui n’a rien à voir avec l’enregistrement réel). La clé primaire peut représenter un ou plusieurs champs d’une table. Lorsque la clé primaire représente plusieurs champs, elle est appelée « clé composite ». CREATE TABLE Persons( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) )
11
clé étrangère La clé étrangère représente un champ (ou des champs) qui pointe vers la clé primaire d’une autre table. L’objectif de la clé étrangère est d’assurer l’intégrité référentielle des données. En d’autres mots, seules les valeurs devant apparaître dans la base de données sont permises. CREATE TABLE Orders ( O_Id int NOT NULL, OrderNo int NOT NULL, P_Id int, PRIMARY KEY (O_Id), CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id) )
12
Insert Insertion : Pour insérer des données dans une base, il y a 2 syntaxes principales : Insérer une ligne en indiquant les informations pour chaque colonne existante (en respectant l’ordre) Insérer une ligne en spécifiant les colonnes que vous souhaiter compléter. Il est possible d’insérer une ligne en renseigner seulement une partie des colonnes INSERT INTO client (prenom, nom, ville, age) VALUES ('Rébecca', 'Armand', 'Saint-Didier-des-Bois', 24), ('Aimée', 'Hebert', 'Marigny-le-Châtel', 36), ('Marielle', 'Ribeiro', 'Maillères', 27), ('Hilaire', 'Savary', 'Conie-Molitard', 58);
13
update SQL UPDATE La commande UPDATE permet d’effectuer des modifications sur des lignes existantes. Très souvent cette commande est utilisée avec WHERE pour spécifier sur quelles lignes doivent porter la ou les modifications. Exemple : UPDATE client SET rue = '49 Rue Ameline', ville = 'Saint-Eustache-la-Forêt', code_postal = '76210' WHERE id = 2;
14
SQL DELETE La commande DELETE en SQL permet de supprimer des lignes dans une table. En utilisant cette commande associé à WHERE il est possible de sélectionner les lignes concernées qui seront supprimées. Exemple DELETE FROM utilisateur WHERE date_inscription < ' ‘;
15
DROP SQL DROP TABLE La commande DROP TABLE en SQL permet de supprimer définitivement une table d’une base de données. Cela supprime en même temps les éventuels index, trigger, contraintes et permissions associées à cette table. Attention : il faut utiliser cette commande avec attention car une fois supprimée, les données sont perdues. Avant de l’utiliser sur une base importante il peut être judicieux d’effectuer un backup (une sauvegarde) pour éviter les mauvaises surprises. DROP TABLE nom_table
16
Opération de sélection
SELECT nom de colonne FROM nom de table Where condition; La clause WHERE permet d'effectuer un filtrage de tuples. C'est à dire sélectionner un sous-ensemble de lignes dans les tables. Seules les lignes vérifiant la clause WHERE seront retournées. - Les opérateurs logiques (AND, OR) peuvent être utilisés dans le cas de prédicats multiples. - L'opérateur NOT inverse le sens du prédicat. - Pas de limite dans le nombre de prédicats.
17
Exemples : Lister tous les pilotes de la compagnie SQL> SELECT
Exemples : Lister tous les pilotes de la compagnie SQL> SELECT * FROM pilote; ==> - pas de sélection - tous les tuples de la relation PILOTE sont ramenés Lister les pilotes qui vivent à Nice FROM PILOTE WHERE ADR='Nice'; ==> - sélection : clause WHERE - seuls les tuples de la relation PILOTE vérifant la clause WHERE sont ramenés
18
Opérateurs arithmétiques
Dans les critères de la clause WHERE, nous pouvons avoir les opérateurs de comparaison arithmétiques suivants : = : égal, != : différent, > : supérieur, >= : supérieur ou égal, < : inférieur, <= : inférieur ou égal. Exemple : Liste des pilotes qui gagnent plus de et dont le numéro de tel est SQL> SELECT plnom FROM pilote WHERE sal > AND tel=' ';
19
les opérateurs sur les chaînes : LIKE et SOUNDEX
Opérateur LIKE Caractères jokers de l'opérateur LIKE : % : remplace 0 à n caractères _ : remplace 1 et un seul caractère Exemple 1 : Sélectionnez les pilotes dont le nom commence par M. SQL> SELECT * FROM pilote WHERE plnom LIKE 'M%'; Exemple 2 : Sélectionnez les pilotes dont le nom contient un A en troisième position. SQL> SELECT * FROM pilote WHERE plnom LIKE '___A%';
20
ESCAPE La clause ESCAPE permet de de-spécialiser les caractères jokers : _ et %. Le caractère précisé derrière la clause ESCAPE permet la recherche des caractères _ et % dans une chaîne de caractères. Exemple 3 : Sélectionnez les pilotes dont le nom contient le caractère _. SQL> SELECT * FROM pilote WHERE plnom LIKE '%*_%' ESCAPE '*';
21
Opérateur SOUNDEX Opérateur SOUNDEX SOUNDEX(chaîne) est une fonction qui permet une comparaison phonétique. SOUNDEX(chaîne) génère une valeur numérique sur 4 octets (selon un algorithme précis). Pour faire une comparaison phonétique entre 2 chaînes : SOUNDEX(chaîne1) = SOUNDEX(chaîne2) Exemple : Sélectionnez les pilotes dont le nom ressemble à Tonton SQL> SELECT plnom FROM pilote WHERE SOUNDEX(plnom) = SOUNDEX('Tonton'); PLNOM Tintin
22
l'opérateur IN and not in
IN est l'opérateur qui permet de tester l'appartenance de la valeur d'une colonne à une liste. Exemples : Liste des vols dont la ville d'arrivée est Nice ou Paris. SQL> SELECT vol FROM vol WHERE va IN ('Nice ', 'Paris');
23
l'opérateur BETWEEN BETWEEN est l'opérateur qui permet de tester si une valeur appartient à un intervalle. Remarque : les bornes sont incluses. Exemple : Salaire et nom des pilotes gagnant entre et SQL> SELECT plnom, sal FROM pilote WHERE sal BETWEEN AND 18000; PLNOM SAL Mathé Icare 17000,6 Mopolo 17000,6 Chretien 15000,6 Vernes 17000,6 Tournesol 15000,6 6 ligne(s) sélectionnée(s).
24
Les opérateurs ANY, SOME et ALL
Ils se combinent avec l'un des opérateurs arithmétiques : Remarques : - l'opérateur ANY est équivalent à l'opérateur SOME. - la condition =ANY est équivalent à l'opérateur IN.
25
Exemple 2 : Sélectionnez les pilotes dont le salaire n'est pas un nombre rond. SQL> SELECT plnom FROM pilote WHERE sal != ALL (12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 24000, 25000, 26000, 27000, 28000,29000); Remarque : La condition != ALL est équivalente à la condition NOT IN.
26
DISTINCT Cette clause permet de ne pas afficher les lignes qui ont même valeur. Si elle est indiquée, les enregistrements en double seront supprimés du fichier résultant final.: Exemple: SELECT DISTINCT dynastie FROM monarque
27
EXERCICES « Id et type d'avions de capacité supérieure à 300" "Nom des pilotes habitants taza ou casa" "Quels sont les noms de pilotes comportant un 't' . "Quels sont les vols au départ de kenitra, rabat ou fes ?" "Quels sont les avions dont la capacité est comprise entre 250 et 310 ?" "Quels sont les pilotes dont l'adresse ou le téléphone sont inconnus ?" "Nom des pilotes ayant un 'a' et un 'e' dans leur nom" "Nom des pilotes ayant 2 'o' dans leur nom " "Nom des pilotes dont le numéro de téléphone est renseigné"
28
Alter Table Vous pouvez être amené à modifier à n’importe quel moment la structure d’une table créée dans la base de données. Les raisons classiques de modification d’une table sont les suivantes : Ajouter une colonne Supprimer une colonne Changer un nom de colonne Changer les types de données d’une colonne La syntaxe SQL de ALTER TABLE est : ALTER TABLE table_name ADD column_name datatype ALTER TABLE table_name DROP COLUMN column_name ALTER TABLE table_name MODIFY COLUMN column_name datatype
29
TRUNCATE Cette commande est très utile pour supprimer toutes les données d’une table. La commande DROP TABLE, que nous avons vue dans la last section permet aussi d’exécuter cette opération. Mais comment devons-nous procéder pour supprimer les données tout en conservant la table ? Pour ce faire, il convient d’utiliser la commande TRUNCATE TABLE. La syntaxe pour TRUNCATE TABLE est : TRUNCATE TABLE "nom de table";
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.