Vous êtes sur la page 1sur 7

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007

Introduction SQL IUT Lumire, DUT QLIO 2006-2007 Pierre Parrend, Rgis Martinez, Soumaya El-Kadiri

SQL: Introduction
I. Le Language SQL Pour interroger une Base de Donnes (BD), il faut dialoguer avec elle: macros Excel requtes Access SQL Structured Query Language SQL est le language le plus complet pour interagir une BD. Il permet: l'interrogation et la manipulation d'une BD la cration, modification et destruction de tables d'une BD la cration de Bases de Donnes Exemple: Table Animaux ID 1 2 3 4 5

Espce Chien Chat Gorille Elephant Giraphe

Race Yorkshire Siamois NULL D'Asie NULL

Naissance 21.01.2007 15.08.2005 30.10.2000 23.04.1995 02.07.2003

Nom Bidi Tim Georges Dumbo Helena

CE-STAT, IUT Lumire

2006-2007

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007 II. Tables de Donnes A. Ma premire requte SQL Select * from Animaux where Espce = Gorille Explications: Select: nom des colonnes selectionnes exemples: 'Select *'; ou 'Select ID, Espce, Nom' from: nom de la table considre example: 'from Animaux'; ou 'from Animaux, Vaccination' where: conditions sur la table example: 'where Espce = Gorille'; ou 'where Naissance > 10.01.2001' B. Les 4 types de requtes

Requtes d'Interrogation de Donnes: Reqetes de Manipulation de Donnes: Requtes de Contrle d'Accs aux Donnes: Requte de Dfinition de Donnes: C. La Slection

Select INSERT, UPDATE, DELETE GRANT, DENY, REVOKE CREATE, ALTER, DROP, RENAME, TRUNCATE

Slectionner des colonnes

Select ID, Espce, Nom from Animaux; ID -1 2 3 4 5

Espce -----Chien Chat Gorille Elephant Giraphe

Nom --Bidi Tim Georges Dumbo Helena

Slectionner toute une table

Select * from Animaux;

CE-STAT, IUT Lumire

2006-2007

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007

Expressions Arithmtiques Expression sur des donnes avec + - * /

Select Anom, Salaire*12 from Agent; Remarque: la colonne 'Salaire*12' existe uniquement l'affichage Renommer les colonnes Select Anom, Salaire*12 AS 'Salaire Annuel' from Agent; Ordonner les rponses avec ORDER BY Select Anom, Fonction, Salaire from Agent ORDER BY Salaire DESC; ASC: classement ascendant DESC: classement descendant D. La Comparaison

Slectionner des lignes Par expression de condition

Select Anom, Fonction, Salaire from Agent where Service_ID = 10; Par comparaison sur les valeurs dechamps Select Anom, Fonction, Salaire from Agent where Anom = 'DUPONT' AND Aprenom LIKE '%ea%' Oprateurs de comparaison = > >= < <= != <> BETWEEN, IN, LIKE, IS NULL AND, OR, NOT 2006-2007

Les oprateurs arithmtique sont: Les oprateurs de comparaison sont: Les oprateurs logiques sont: CE-STAT, IUT Lumire

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007 On utilise l'oprateur BETWEEN pour tester l'appartenance un intervalle. SELECT FROM WHERE ANom, APrenom, Fonction, Salaire Agent DateE BETWEEN 09.08.2001 AND 09.08.2006;

On utilise l'oprateur IN pour tester l'appartenance une liste de valeurs. SELECT FROM WHERE IdService, SNom, Collect_Id Service Collect_Id IN (38,42,69,01);

E. Manipulation des Donnes


LOWER convertit en minuscule UPPER convertit en majuscule INITCAP convertit linitial en capita CONCAT concatne des valeurs SUBSTR retourne une sous-chane LENGTH retourne un nombre de caractres ROUND(col,n) arrondit une valeur la dcimale spcifie TRUNC (col,n) tronque une valeur la dcimale spcifie MOD(m,n) retourne le reste de la division de m par n

Exemple: SELECT UPPER(ANom), CONCAT(ANom, APrenom), Salaire FROM Agent WHERE LOWER(Fonction) = directeur; F. Les Jointures Objectifs: rechercher des donnes dans plusieurs tables Moyens: les occurrences des diffrentes tables son lies entre elles par leurs cls (primaires et trangres) t La condition de jointure s'exprime dans la clause 'Where' SELECT FROM WHERE Ag.ANom , Ag.Service_Id , Se.IdService Agent Ag, Service Se Ag.Service_Id = Se.IdService ;

CE-STAT, IUT Lumire

2006-2007

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007 G. Les Requtes Complexes Objectif: Utiliser le rsultat d'un requte pour en raliser une deuxime Moyen: On imbrique plusieurs requtes les unes dans les autres La requte imbrique (ou sous-requte, ou sous-interrogation) est ralise avant la requte principale On peut donc chercher des donnes partir de critres inconnus

Requte imbrique renvoyant une valeur ANom, Fonction Agent Service_Id = ( SELECT FROM WHERE

SELECT FROM WHERE

Service_Id Agent ANom = 'Dupont' ) ;

Requte imbrique renvoyant plusieurs valeurs ANom, Salaire, Service_Id Agent Salaire_Id IN ( SELECT MIN (Salaire) FROM Agent GROUP BY Service_Id );

SELECT FROM WHERE

Requte imbrique avec comparaison Service_Id, AVG(Salaire) Agent Service_Id AVG(Salaire) > ( SELECT

SELECT FROM GROUP BY HAVING

AVG(Salaire) FROM Salarie WHERE Service_Id = A10

);

H. Mises Jour

Inserer des donnes

Pour inserer une ligne dans la table on utilise la commande SQL INSERT INSERT INTO Agent (IdAgent, Anom, Aprenom) 'Dalton', 'Joe'); VALUES (25236,

CE-STAT, IUT Lumire

2006-2007

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007

Effacer des donnes

Pour supprimer des donnes dans une table on utilise la commande SQL DELETE DELETE FROM Agent WHERE IdAgent = 25236 ; Modifier des donnes

Pour modifier des donnes dans une table on utilise la commande SQL UPDATE UPDATE Agent WHERE Salaire = 2500 ;

CE-STAT, IUT Lumire

2006-2007

Pierre Parrend, Rgis Martinez, Soumaya El Kadiri Introduction SQL, QLIO, 2006-2007 III.Bases de Donnes A. Structure d'une Base de Donnes Tables de Donnes

Base de Donnes Stocke I

B. Cration de base de donnes La requte SQL permettant de crer une Base de Donnes 'business' est la suivante:
CREATE DATABASE business;

La requte suivante permet de dtruire cette Base de Donnes:


DROP DATABASE business;

C. Cration et destruction de tables de donnes La Base de Donnes 'business' contient une table clients, qui est cre par la requte:
CREATE TABLE clients ( identifiant int PRIMARY KEY, nom varchar[50], prenom varchar[50], adresse varchar[50] );

La table est dtruite comme suit:


DROP TABLE clients;

CE-STAT, IUT Lumire

2006-2007