Structured Query Language
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)
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)
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
Types de données char(n) varchar(n) number(n) number(n,m) date null chaîne de caractères de longueur variable n ϵ[1-255] number(n) number(n,m) date null
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
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
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
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 ""
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)
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
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
Création de table Table simple CREATE TABLE NomDeTable ( NomDeChamp TypeDuChamp, … ); CREATE TABLE Villes ( idVille int(10), nomVille varchar(60));
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");
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");
Création de table Intégrité référentielle CREATE TABLE NomDeTable ( NomDeChamp1 TypeDuChamp PRIMARY KEY, NomDeChampx TypeDuChamp, … , FOREIGN KEY (NomDeChampx) REFERENCES nomDeTableZ(NomDeChamp) );
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));
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
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
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)
Langage de Manipulation de Données (LDM) Sélection SELECT [DISTINCT | ALL] <clause1>[<clause2>…] FROM <nom_table1> [, <nom_table2>,…] [WHERE <condition1> [AND|OR <condition2> …]] [GROUP BY <regroupement1>[<regroup2>…]] [HAVING condition] [ORDER BY liste de colonnes ]
Langage de Manipulation de Données (LDM) Le mans Ballon Saint calais Sélection SELECT nomVille FROM villes ; SELECT * FROM villes WHERE idVille=2 ; villes idVille nomVille 1 Le mans 2 Ballon 3 Saint calais 1 Le mans 2 Ballon 3 Saint 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.
Langage de Manipulation de Données (LDM) villes idVille nomVille 1 Le mans 2 Saint ouen 3 Ballon 4 Saint calais Sélection SELECT nomVille FROM villes WHERE nomVille LIKE 'saint%'; Saint ouen Saint calais
Langage de Manipulation de Données (LDM) Ballon Le mans Saint calais Tri SELECT nomVille FROM villes ORDER BY nomVille ASC; ORDER BY nomVille DESC; villes idVille nomVille 1 Le mans 2 Ballon 3 Saint calais Saint calais Le mans Ballon
Langage de Manipulation de Données (LDM) Jointure SELECT nomVille, nomDept FROM villes, departements WHERE numeroDept = "72" villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes departements idDepartement nomDept numeroDept 1 Sarthe 72 2 Mayenne 53 3 Loire atlantique 44 Le mans Sarthe Ballon Nantes
Langage de Manipulation de Données (LDM) villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes Jointure SELECT nomVille, nomDept FROM villes, departements WHERE villes.idDepartement = departements.idDepartement AND numeroDept = "72" departements idDepartement nomDept numeroDept 1 Sarthe 72 2 Mayenne 53 3 Loire atlantique 44 Le mans Sarthe Ballon
Langage de Manipulation de Données (LDM) villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes Jointure autre syntaxe SELECT nomVille, nomDept FROM villes INNER JOIN departements ON villes.idDepartement = departements.idDepartement AND numeroDept = "72" departements idDepartement nomDept numeroDept 1 Sarthe 72 2 Mayenne 53 3 Loire atlantique 44 Le mans Sarthe Ballon
Langage de Manipulation de Données (LDM) villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes Jointure SELECT nomVille, nomDept FROM villes, departements WHERE villes.idDepartement = departements.idDepartement AND numeroDept <> "72" departements idDepartement nomDept numeroDept 1 Sarthe 72 2 Mayenne 53 3 Loire atlantique 44 Nantes Loire atlantique
Langage de Manipulation de Données (LDM) villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes 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) AS nbVilles FROM villes WHERE idDepartement=1 ; nbVilles ← 2
Langage de Manipulation de Données (LDM) villes idVille nomVille idDepartement 1 Le mans 2 Ballon 3 Nantes Requêtes imbriqués SELECT nomVille FROM villes WHERE idDepartement IN ( SELECT idDepartement FROM departements WHERE numeroDept = "72" ) Le mans Ballon departements idDepartement nomDept numeroDept 1 Sarthe 72 2 Mayenne 53 3 Loire atlantique 44 1
Langage de Manipulation de Données (LDM) Sélection Ajout INSERT INTO NomDeLaTable (colonne1,colonne2,...) VALUES (valColonne1,valColonne2,...) ; Modification suppression
Langage de Manipulation de Données (LDM) Sélection Ajout Modification UPDATE NomDeLaTable SET nomColonne=valColonne WHERE condition ; suppression
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.
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