Structured Query Language 1/34
SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle de Données (LDC) 2/34
SQL Types de données char(n) varchar(n) number(n) number(n,m) date null Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle de Données (LDC) 3/34
Types de données char(n) chaîne de caractères de longueur fixe n [1-255] varchar(n) number(n) number(n,m) date null 4/34
Types de données char(n) varchar(n) chaîne de caractères de longueur variable n [1-255] number(n) number(n,m) date null 5/34
Types de données char(n) varchar(n) number(n) Nombre entier positif, négatif ou nul de n chiffres number(n,m) date null 6/34
Types de données char(n) varchar(n) number(n) number(n,m) ou numeric(n,m) Nombre rationnel en virgule fixe de n chiffres au total dont m après la virgule date null 7/34
Types de données char(n) varchar(n) number(n) number(n,m) date et datetime Date a le format suivant : AAAA-MM-JJ Datetime a le format suivant : AAAA-MM-JJ hh:mm:ss null 8/34
Types de données char(n) varchar(n) number(n) number(n,m) date null NULL appartient à tous les domaines : CHAR, NUMBER, … signifie que la ligne n’a pas de valeur pour cet attribut à ne pas confondre avec 0, 0.0 ou "" 9/34
SQL Types de données Langage de Définition de Données (LDD) création de base création de table modification de structure de table suppression de table Langage de Manipulation de Données (LDM) Langage de Contrôle de Données (LDC) 10/34
Langage de Définition de Données (LDD) création de base CREATE DATABASE nomDeVotreBase création de table modification de structure de table suppression de table 11/34
Langage de Définition de Données (LDD) création de base création de table Table simple Contraintes d’intégrité Clé primaire Intégrité référentielle modification de structure de table suppression de table 12/34
Création de table Table simple CREATE TABLE NomDeTable ( NomDeChamp TypeDuChamp, … ); CREATE TABLE Villes ( idVille int(10), nomVille varchar(60)); 13/34
Création de table Contraintes d’intégrité CREATE TABLE NomDeTable ( NomDeChamp TypeDuChamp NOT NULL, NomDeChamp TypeDuChamp NULL, NomDeChamp TypeDuChamp DEFAULT valeur,… ); CREATE TABLE Villes ( idVille int(10) NOT NULL, nomVille varchar(60) DEFAULT "jaipaslenomdelaville"); 14/34
Création de table Clé primaire CREATE TABLE NomDeTable ( NomDeChamp TypeDuChamp PRIMARY KEY, NomDeChamp TypeDuChamp,… ); CREATE TABLE Villes ( idVille int(10) NOT NULL PRIMARY KEY, nomVille varchar(60) DEFAULT "jaipaslenomdelaville"); 15/34
Création de table Intégrité référentielle CREATE TABLE NomDeTable ( NomDeChamp1 TypeDuChamp PRIMARY KEY, NomDeChampx TypeDuChamp, …, FOREIGN KEY (NomDeChampx) REFERENCES nomDeTableZ(NomDeChamp) ); 16/34
Création de table Intégrité référentielle Il existe une table departement qui possède comme clef primaire le champ idDepartement. CREATE TABLE villes ( idVille int(10) NOT NULL PRIMARY KEY, nomVille varchar(60), idDepartement int(10), FOREIGN KEY (idDepartement) REFERENCES departement(idDepartement)); 17/34
Langage de Définition de Données (LDD) création de base création de table modification de structure de table ALTER TABLE supprimer/ajouter une colonne supprimer/ajouter une contrainte suppression de table 18/34
Langage de Définition de Données (LDD) création de base création de table modification de structure de table suppression de table DROP TABLE nomDeLaTable 19/34
SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) sélection tri jointures fonctions requêtes imbriqués ajout modification suppression Langage de Contrôle de Données (LDC) 20/34
Langage de Manipulation de Données (LDM) Sélection SELECT [DISTINCT | ALL] [ …] FROM [,,…] [WHERE [AND|OR …]] [GROUP BY [ …]] [HAVING condition] [ORDER BY liste de colonnes ] 21/34
Langage de Manipulation de Données (LDM) Sélection SELECT nomVille FROM villes ; SELECT * FROM villes ; SELECT nomVille FROM villes WHERE idVille=2 ; 22/34 villes idVillenomVille 1Le mans 2Ballon 3Saint calais Le mans Ballon Saint calais 1Le mans 2Ballon 3Saint calais Ballon
Langage de Manipulation de Données (LDM) Sélection LIKE permet d'utiliser un "joker" afin d'estimer une expression Le joker peut être % pour remplacer une séquence de caractères. Le joker peut être _ pour remplacer un caractère. 23/34
Langage de Manipulation de Données (LDM) Sélection SELECT nomVille FROM villes WHERE nomVille LIKE 'saint%'; 24/34 villes idVillenomVille 1Le mans 2Saint ouen 3Ballon 4Saint calais Saint ouen Saint calais
Langage de Manipulation de Données (LDM) Tri SELECT nomVille FROM villes ORDER BY nomVille ASC; SELECT nomVille FROM villes ORDER BY nomVille DESC; 25/34 villes idVillenomVille 1Le mans 2Ballon 3Saint calais Ballon Le mans Saint calais Le mans Ballon
Langage de Manipulation de Données (LDM) Jointure SELECT nomVille, nomDept FROM villes, departements WHERE numeroDept = "72" 26/34 villes idVillenomVilleidDepartement 1Le mans1 2Ballon1 3Nantes3 departements idDepartementnomDeptnumeroDept 1Sarthe72 2Mayenne53 3Loire atlantique 44 Le mansSarthe BallonSarthe NantesSarthe
Langage de Manipulation de Données (LDM) Jointure SELECT nomVille, nomDept FROM villes, departements WHERE villes.idDepartement = departements.idDepartement AND numeroDept = "72" 27/34 villes idVillenomVilleidDepartement 1Le mans1 2Ballon1 3Nantes3 departements idDepartementnomDeptnumeroDept 1Sarthe72 2Mayenne53 3Loire atlantique 44 Le mansSarthe BallonSarthe
Langage de Manipulation de Données (LDM) Jointure SELECT nomVille, nomDept FROM villes, departements WHERE villes.idDepartement = departements.idDepartement AND numeroDept <> "72" 28/34 villes idVillenomVilleidDepartement 1Le mans1 2Ballon1 3Nantes3 departements idDepartementnomDeptnumeroDept 1Sarthe72 2Mayenne53 3Loire atlantique 44 NantesLoire atlantique
Langage de Manipulation de Données (LDM) Fonctions MAX : Fournit la valeur maximale MIN : Fournit la valeur minimale COUNT : Fournit la cardinalité d’un ensemble SUM : Somme de toutes les valeurs AVG : Moyenne de toutes les valeurs SELECT COUNT(idVille) FROM villes WHERE idDepartement=1 ; 29/34
Langage de Manipulation de Données (LDM) Requêtes imbriqués SELECT nomVille FROM villes WHERE idDepartement IN ( SELECT idDepartement FROM departements WHERE numeroDept = "72" ) 30/34 Le mans Ballon
Langage de Manipulation de Données (LDM) Sélection Ajout INSERT INTO NomDeLaTable (colonne1,colonne2,...) VALUES (valColonne1,valColonne2,...) ; Modification suppression 31/34
Langage de Manipulation de Données (LDM) Sélection Ajout Modification UPDATE NomDeLaTable SET nomColonne=valColonne WHERE condition ; suppression 32/34
Langage de Manipulation de Données (LDM) Sélection Ajout Modification Suppression DELETE FROM NomDeLaTable WHERE condition ; Attention sans condition cette requête effacera l'ensemble des données de la table. 33/34
SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle de Données (LDC) Gestion des droits utilisateurs GRANT REVOKE 34/34