MEMO       MY   SQL Un BON exemplevaut mieux quun  long cours       dis                    AbdelMonem NAAMANE             ...
Manipulation des bases de donnéesshell> mysql -h host -u user -pmysql> show databasesmysql> USE mabasemysql> QUITCREATE DA...
Créationde table       AbdelMonem NAAMANE              isamm@naamane.com
Types de données les plus utilisésINTEGER (INT) : Entier positif ou négatif. 4 octet (-2³² → 2³²-1 )FLOAT : Un nombre à vi...
Création de tableCREATE TABLE Etudiant (id_etudiant INT(6),nom VARCHAR(255) NOT NULL,note FLOAT(7,2) DEFAULT 0,classe INT,...
Manipulation   de la structure           AbdelMonem NAAMANE                  isamm@naamane.com
Manipulation de la structure 1/2DROP TABLE nom_table;ALTER TABLE client DROP tel;ALTER TABLE Etudiant DROP PRIMARY KEY;ALT...
Manipulation de la structure 2/2ALTER TABLE Etudiant ADD UNIQUE cin;ALTER TABLE etudiantADD (Ville VARCHAR(255) DEFAULT Tu...
Insertion   dedonnées        AbdelMonem NAAMANE               isamm@naamane.com
Insertion de données 1/2INSERT INTO nom_de_tableVALUES(4,15,NAAMANE, 2011-11-11) ;INSERT INTO nom_de_table (col1,col2,col3...
Insertion de données 2/2REPLACE INTO nom_de_table (col1,col2,col3)VALUES (1,2,3),(4,5,6);LOAD DATA LOCAL IN FILE "fichier....
Mise àjour desdonnées         AbdelMonem NAAMANE                isamm@naamane.com
Mise à jour des donnéesUPDATE clientsSET prenom =Mohamed, nom =NAAMANE,ville = Bizerte, enfants = 2WHERE id > 10ORDER BY n...
Suppressiondes données         AbdelMonem NAAMANE                isamm@naamane.com
Suppression des donnéesDELETE FROM clientsWHERE age = 20AND ville LIKE %uni%ORDER BY note DESClimit 10;TRUNCATE clients;  ...
Selection   dedonnées        AbdelMonem NAAMANE               isamm@naamane.com
Selection de données simpleSELECT *FROM etudiant ;SELECT nom, prenom, note, date_naissanceFROM etudiantORDER BY note DESC;...
Selection : fonctions utililes 1SELECT 1+2, "bon, Jour";SELECT CONCAT(prenom, " ", nom) AS nom_completFROM etudiants;SELEC...
Selection : fonctions utililes 2SELECT *FROM etudiantsWHERE date_naissance > 1980-12-15AND date_naissance < 2005-05-10;SEL...
Selection : fonctions utililes 3SELECT DISTINCT villeFROM etudiants;SELECT COUNT(*), COUNT(ville)FROM etudiants;SELECT COU...
Selection : fonctions utililes 4SELECT *FROM etudiantsWHERE age IN (11,12,13,14,15);SELECT DISTINCT nom_livreFROM livreWHE...
Fonctions pour dateNOW() → 2012-11-10 33:44:21CURDATE() → 2012-11-10CURTIME() → 20:11:09DATE_ADD(2000-11-16, 3 YEAR) → MON...
GroupementSELECT MAX(note), MIN(note), SUM(note),AVG(note),COUNT(note), COUNT(*),FROM etudiant;SELECT article, sum(montant...
Groupement 2SELECT nom_article, sum(montant), max(montant),max(date_vente) AS date_derniere_venteFROM venteWHERE date_acha...
JointureSELECT *FROM etudiant , classeWHERE etudiant.classe = classe.id_classeAND classe.niveau_classe >= 2SELECT *FROM cl...
MEMO        MY   SQLAbdelMonem NAAMANE    isamm@naamane.com
Prochain SlideShare
Chargement dans…5
×

Cours SQL Master Image Numérique ISAMM

1 448 vues

Publié le

cours sous forme d'exemple, mémo, sur les fonctionnalités fondamentales du SQL en prenant MySQL comme exemple.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 448
Sur SlideShare
0
Issues des intégrations
0
Intégrations
29
Actions
Partages
0
Téléchargements
96
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cours SQL Master Image Numérique ISAMM

  1. 1. MEMO MY SQL Un BON exemplevaut mieux quun long cours dis AbdelMonem NAAMANE isamm@naamane.com
  2. 2. Manipulation des bases de donnéesshell> mysql -h host -u user -pmysql> show databasesmysql> USE mabasemysql> QUITCREATE DATABASE nom_base;DROP DATABASE nom_base; AbdelMonem NAAMANE isamm@naamane.com
  3. 3. Créationde table AbdelMonem NAAMANE isamm@naamane.com
  4. 4. Types de données les plus utilisésINTEGER (INT) : Entier positif ou négatif. 4 octet (-2³² → 2³²-1 )FLOAT : Un nombre à virgule flottante. 4 octet(-/+1.17E-38 → -/+3.40E+38)TIME : Heure, de 00:00:00 à 23:59:59DATE : Une date, de 1000-01-01 à 9999-12-31 au maximum.DATETIME : Date et Heure, de 1000-01-01 00:00:00 à 9999-12-31 23:59:59VARCHAR : Chaîne de caractère, (1 → 255 caractères)TEXT : Chaîne de caractère, max 2¹⁶-1 octetENUM (valeur1,valeur2,...) Liste de 65 535 valeurs au maximum.SET (valeur1,valeur2,...) Liste de 65 535 valeurs au maximum. AbdelMonem NAAMANE isamm@naamane.com
  5. 5. Création de tableCREATE TABLE Etudiant (id_etudiant INT(6),nom VARCHAR(255) NOT NULL,note FLOAT(7,2) DEFAULT 0,classe INT,cin INT(6),CONSTRAINT PK_etudiant PRIMARY KEY(identifiant),CONSTRAINT UNIQUE (cin),CONSTRAINT FK_etu_classe FOREIGN KEY (classe)REFERENCES Classe(id_classe) ON DELETE CASCADE);RENAME TABLE Etudiant TO eleves; AbdelMonem NAAMANE isamm@naamane.com
  6. 6. Manipulation de la structure AbdelMonem NAAMANE isamm@naamane.com
  7. 7. Manipulation de la structure 1/2DROP TABLE nom_table;ALTER TABLE client DROP tel;ALTER TABLE Etudiant DROP PRIMARY KEY;ALTER TABLE Etudiant RENAME COL1 TO COL3;ALTER TABLE Etudiant MODIFY nom_elevevarchar(40) NOT NULL AbdelMonem NAAMANE isamm@naamane.com
  8. 8. Manipulation de la structure 2/2ALTER TABLE Etudiant ADD UNIQUE cin;ALTER TABLE etudiantADD (Ville VARCHAR(255) DEFAULT Tunis,Pays VARCHAR(30) );ALTER TABLE Etudiant ADD CONSTRAINTFOREIGN KEY (classe) REFERENCESClasse(id_classe)); AbdelMonem NAAMANE isamm@naamane.com
  9. 9. Insertion dedonnées AbdelMonem NAAMANE isamm@naamane.com
  10. 10. Insertion de données 1/2INSERT INTO nom_de_tableVALUES(4,15,NAAMANE, 2011-11-11) ;INSERT INTO nom_de_table (col1,col2,col3)VALUES (1,2,3),(4,5,6);INSERT INTO nom_de_tableSET col3 = 1, col5 = 2011-11-11;INSERT INTO table1 (clonne1, colonne2) SELECT nom, age FROM table2 WHERE age > 18; AbdelMonem NAAMANE isamm@naamane.com
  11. 11. Insertion de données 2/2REPLACE INTO nom_de_table (col1,col2,col3)VALUES (1,2,3),(4,5,6);LOAD DATA LOCAL IN FILE "fichier.txt"INTO etudiantsFIELDS TERMINATED BY ","LINES TERMINATED BY "rn"IGNORE 1 LINES AbdelMonem NAAMANE isamm@naamane.com
  12. 12. Mise àjour desdonnées AbdelMonem NAAMANE isamm@naamane.com
  13. 13. Mise à jour des donnéesUPDATE clientsSET prenom =Mohamed, nom =NAAMANE,ville = Bizerte, enfants = 2WHERE id > 10ORDER BY note DESCLIMIT 20;UPDATE clientsSET note = note+4;UPDATE clientsSET classe = REPLACE( classe,MIN,Master IM) AbdelMonem NAAMANE isamm@naamane.com
  14. 14. Suppressiondes données AbdelMonem NAAMANE isamm@naamane.com
  15. 15. Suppression des donnéesDELETE FROM clientsWHERE age = 20AND ville LIKE %uni%ORDER BY note DESClimit 10;TRUNCATE clients; AbdelMonem NAAMANE isamm@naamane.com
  16. 16. Selection dedonnées AbdelMonem NAAMANE isamm@naamane.com
  17. 17. Selection de données simpleSELECT *FROM etudiant ;SELECT nom, prenom, note, date_naissanceFROM etudiantORDER BY note DESC; [ASC | DESC]SELECT nom, prenom, cin, noteFROM etudiantWHERE ville = TunisAND note > 10OR ville = BizerteAND nom != AAND prenom LIKE Mo%; AbdelMonem NAAMANE isamm@naamane.com
  18. 18. Selection : fonctions utililes 1SELECT 1+2, "bon, Jour";SELECT CONCAT(prenom, " ", nom) AS nom_completFROM etudiants;SELECT *FROM etudiantsWHERE age IS NULL;SELECT *FROM etudiantsWHERE age IS NOT NULL; AbdelMonem NAAMANE isamm@naamane.com
  19. 19. Selection : fonctions utililes 2SELECT *FROM etudiantsWHERE date_naissance > 1980-12-15AND date_naissance < 2005-05-10;SELECT *FROM etudiantsWHERE MONTH(date_naissance) = 2AND DAYOFMONTH(date_naissance) = 29;SELECT *FROM etudiantsWHERE nom LIKE A%AND prenom LIKE __b%N; AbdelMonem NAAMANE isamm@naamane.com
  20. 20. Selection : fonctions utililes 3SELECT DISTINCT villeFROM etudiants;SELECT COUNT(*), COUNT(ville)FROM etudiants;SELECT COUNT(DISTINCT ville)FROM etudiants; AbdelMonem NAAMANE isamm@naamane.com
  21. 21. Selection : fonctions utililes 4SELECT *FROM etudiantsWHERE age IN (11,12,13,14,15);SELECT DISTINCT nom_livreFROM livreWHERE type_livre NOT IN (SELECT type_livre FROM anciens_livre);SELECT *FROM etudiantsORDER BY RAND()LIMIT 1; AbdelMonem NAAMANE isamm@naamane.com
  22. 22. Fonctions pour dateNOW() → 2012-11-10 33:44:21CURDATE() → 2012-11-10CURTIME() → 20:11:09DATE_ADD(2000-11-16, 3 YEAR) → MONTH | DAY | HOUR | MINUTE |SECONDDATE_SUB(2000-11-16, 3 YEAR) → MONTH | DAY | HOUR | MINUTE |SECONDYEAR()MONTH()DAY()HOUR()MINUTE()SECOND() AbdelMonem NAAMANE isamm@naamane.com
  23. 23. GroupementSELECT MAX(note), MIN(note), SUM(note),AVG(note),COUNT(note), COUNT(*),FROM etudiant;SELECT article, sum(montant) as MFROM venteGROUP BY article;SELECT article, sum(montant)FROM venteWHERE date_achat > 2011-01-01GROUP BY article;SELECT article, sum(montant)FROM venteGROUP BY articleHAVING sum(montant) > 100); AbdelMonem NAAMANE isamm@naamane.com
  24. 24. Groupement 2SELECT nom_article, sum(montant), max(montant),max(date_vente) AS date_derniere_venteFROM venteWHERE date_achat > 2011-01-01AND nom_article != AAND prenom LIKE ch%GROUP BY articleHAVING sum(montant) > 100ORDER BY date_derniere_vente DESClimit 5; AbdelMonem NAAMANE isamm@naamane.com
  25. 25. JointureSELECT *FROM etudiant , classeWHERE etudiant.classe = classe.id_classeAND classe.niveau_classe >= 2SELECT *FROM classeLEFT JOIN etudiantON etudiant.classe = classe.id_classeWHERE classe.niveau_classe >= 2; AbdelMonem NAAMANE isamm@naamane.com
  26. 26. MEMO MY SQLAbdelMonem NAAMANE isamm@naamane.com

×