0% ont trouvé ce document utile (0 vote)
2 vues19 pages

Introduction au SQL pour débutants

Ce document fournit un aperçu des sujets et concepts abordés dans le cours complet SQL pour débutants. Le cours est divisé en modules, le Module 1 couvrant les fondamentaux des bases de données, SQL, les composants de la base de données, les commandes SQL, les types de données, les fonctions, les jointures, et plus encore. Les sujets clés incluent les différences entre DBMS et RDBMS, les utilisations de SQL, base de données contre schéma, définition de données, langages de manipulation et de requête, et les fonctions SQL courantes pour les chaînes, les nombres et les dates.

Transféré par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues19 pages

Introduction au SQL pour débutants

Ce document fournit un aperçu des sujets et concepts abordés dans le cours complet SQL pour débutants. Le cours est divisé en modules, le Module 1 couvrant les fondamentaux des bases de données, SQL, les composants de la base de données, les commandes SQL, les types de données, les fonctions, les jointures, et plus encore. Les sujets clés incluent les différences entre DBMS et RDBMS, les utilisations de SQL, base de données contre schéma, définition de données, langages de manipulation et de requête, et les fonctions SQL courantes pour les chaînes, les nombres et les dates.

Transféré par

ScribdTranslations
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

SQL pour débutants - Cours complet

Module-1 : Session SQL - 1


Qu'est-ce que DBMS et RDBMS ?
Qu'est-ce qu'une base de données ?
Qu'est-ce que SQL ?
Composants de la base de données - Client et Serveur
Installation de My SQL
Mon SQL Workbench
Connexion à la base de données et requête des tables
Base de données vs. Schéma
Commandes SQL
Types de données SQL
Mes fonctions SQL
Mes clauses SQL et résultats
Mes opérateurs d'ensemble SQL
Mes jointures SQL
Sous-requêtes
Contraintes d'intégrité
Incrémentation automatique
Limiter les lignes
Vues et Index SQL
Qu'est-ce que DBMS et RDBMS ?

DBMS -> Database Management System


Ex : Dbase, Foxpro, Ms Access, etc

RBDSM -> Relatonal Database Management System


Ex : Oracle, MS-SQL Server, DB2, MySQL, MS Access

Qu'est-ce qu'une base de données ?


- base de données dans une zone de stockage de données

Qu'est-ce que SQL ?


SQL - est utilisé pour communiquer avec la base de données afin d'effectuer différents types de tâches

Composants de base de données - Client & Serveur


- les données sont stockées dans le serveur de base de données et nous pouvons envoyer des commandes SQL en utilisant le client

logiciel
Il y a 2 types de clients :
1)GUI- Graphical mode
2) CLI - Interface de ligne de commande

Ex :
Oracle -GUI- SQL Developer
-CLI- SQL Plus

MySQL -GUI- MySQL Workbench


- CLI - Outil de ligne de commande MySQL

Base de données vs. Schéma

La base de données - inclut tous les objets, inclut les schémas

Schéma - un sous-dossier de la base de données, y compris des tables (c'est aussi une base de données)

Commandes SQL

1. DDL - langage de définition des données (concernant la structure de la table)

a)CRÉER:
CRÉER DATABASEnom; -crée la base de données
CRÉER UNE BASE DE DONNÉES SI ELLE N'EXISTE PAS nom; -vérifie si le nom de la base de données existe

CRÉER SCHEMA nom ; - crée le schéma


CRÉER UN SCHÉMA SI NON EXISTE nom; -vérifie si le nom du schéma existe
Ex : CRÉER TABLE nom(col1 type de données, col2 type de données, col3 type de données,…) - crée
table
Ex:CRÉER TABLE gdpr(BadgeNoint(4),Prénom varchar(20),DepId int(3));

b) MODIFIER :
-ajout d'une nouvelle colonne
suppression de la colonne existante
- modifier la colonne existante (augmenter/réduire la taille de la colonne et changer le
type de données de la colonne
- renommer une colonne

1) Ajouter une nouvelle colonne :


MODIFIER TABLE nomtable AJOUTER (nomcolonne varchar (entier));
ALTER TABLE gdpr AJOUTER (Âge varchar(3));
2) Supprimer une colonne de la table :
ALTER TABLE nom_table SUPPRIMER COLONNE nom_colonne;
ALTER TABLE gdpr DROP COLUMN Age;

3) Modifier la colonne existante :


augmenter/diminuer la taille de la colonne
- diminuer la taille de la colonne UNIQUEMENT lorsque les valeurs de colonne existantes peuvent s'adapter à la nouvelle taille
- la colonne DOIT être VIDE pour changer son type de données
ALTER TABLE tablename MODIFY COLUMN columnname INT(15); - modifie la taille
de 11 à 15
ALTER TABLE gdpr MODIFIER LA COLONNE salaire INT(15); - modifie la taille de 11 à 15

4) Renommer une colonne :


ALTER TABLE nom_de_table RENOMMER COLONNE ancien_nom À nouveau_nom;
ALTER TABLE tablename RENUMMER COLONNE Age EN Années;

c)SUPPRIMER:
- supprimera complètement la table (y compris la structure) NE FONCTIONNE PAS avec
commande ROLLBACK
EX:DROP TABLEnomdetable
Ex:SUPPRIMER TABLEgdpr

d)TRONQUER :
VIDE LA BASE DE DONNÉES nom;
TRONQUER SCHÉMA nom;
- supprimera uniquement les données de la table, pas la structure
- NE FONCTIONNERA PAS avec la commande ROLLBACK pour annuler les données

e)RENOMMER-
EX:RENOMMER TABLE anciennomdetable À nouvellennomdetable
Ex:RENOMMER TABLE gdpr EN gdpr1;

[Link]- data manipulaton language

INSÉRER
INSÉRER DANS le nom VALEURS(Val1, Val2, Val3,…);

Ex:INSÉRER DANS l'étudiant VALEURS(101,'KIRAN'80);


Ex: INSÉRER DANS student(SNAM, SNO, MARKS) VALEURS('RAM', 102, 60);
Ex:INSÉRER DANS étudiant VALEURS(103,'KRISHNA',NULL);
2)MISE À JOUR
- est utilisé pour modifier les enregistrements existants dans une table
Ex: MISE À JOUR table SET colonne1 = valeur WHERE colonne2 = valeur;
Ex: MISE À JOUR gdpr SET LastName = 'Pipps' WHERE Country = 'Allemagne';

3)DELETE:
DELETE DATABASEname;
SUPPRIMER SCHÉMA nom;
- supprimera uniquement les données de la table, pas la structure, mais pourra être annulé
FONCTIONNERA avec la commande ROLLBACK pour annuler les données
- vous devez d'abord utiliser ces commandes :

1) SET autocommit=0; quand 0 nous devons valider manuellement avec la commande COMMIT
Lorsqu'il exécute 1, il valide automatiquement les commandes.
2)SET SQL_SAFE_UPDATES=0; - pour nous permettre de mettre à jour la table

Ex : SUPPRIMER DE nom_de_table ; - supprimera toutes les données de la table


Ex: SUPPRIMER DE gdpr;

[Link]/DQL- langage de récupération de données / langage de requête de données

1) SÉLECTIONNER

- cela montre le contenu de la table (sélectionnée)

Ex: SÉLECTIONNER NOM, SNO, NOTES DE l'étudiant;


Ex:SELECT*FROMgdprWHEREsalary>3000;
Ex:SELECT*FROMgdprWHEREsalary<=3000;
Ex:SELECT*FROMgdprOùPays=Allemagne;
Ex: SÉLECTIONNER * DE gdpr OÙ Prénom = 'Carlos';
Ex:SELECT*FROMgdprWHEREcity est null;
Ex:SELECTCityFROMgdpr;
Ex:SELECT DISTINCT * FROMgdpr;
Ex:SELECT DISTINCT Pays FROM gdpr;
Conclusion: WHERE and DISTINCT are clauses for the SELECT command
OÙ - filtre les enregistrements en fonction des conditions
DISTINCT - affiche des enregistrements uniques d'une table

Ex:SELECT*FROMgdprWHERESalary>3000ANDCountry=’Espagne’;
Ex:SELECT*FROMgdprWHERESalaire>3000ORPays='Mexique';
Ex:SELECT*FROMgdprWHERE NOTFirstName='Carlos';
Ex:SELECT*FROMgdprWHERESalary=3000ORSalary=3550;
Conclusion : ET, OU et NON sont des opérateurs logiques pour les commandes et les clauses.
Ex: SÉLECTIONNER * DE gdpr OÙ Salaire ENTRE 2500 ET 3000;
ou
Ex:SELECT*FROMgdprWHERESalaire>=2500ANDSalaire=>3000;

Ex:SELECT*FROMgdprWHERESalaireNON ENTRE2500ET3000;
ou
Ex:SELECT*FROMgdprWHERE NOTSalaire>=2500ANDSalaire=>3000;
Ex:SELECT*FROMgdprWHERESalaireIN(3000, 3550,4150);
Ex:SELECT*FROMgdprOÙSalairePASDANS(3000, 3550,4150);
Conclusion : ENTRE/NE PAS ENTRE, DANS/NE PAS DANS sont des opérateurs logiques pour
commandes et clauses

Ex : SÉLECTIONNER * DE gdpr OÙ FirstName LIKE 'S%';


Ex: SÉLECTIONNEZ * FROM gdpr OÙ Prénom LIKE '%r';
Ex : SELECT * FROM gdpr WHERE FirstName LIKE 'S%r';
Ex: SÉLECTIONNER * DE gdpr OÙ FirstName AIME ‘%m%’;
Ex : SELECT * FROM gdpr WHERE FirstName LIKE '%e_' ;
Ex: SÉLECTIONNER * DE gdpr OÙ FirstName LIKE '__';
Ex : SELECT * FROM gdpr WHERE FirstName NOT LIKE 'S&';
Conclusion : % (beaucoup de caractères), ‘_’ (caractères simples). - caractères de joker

4. TCL - langage de contrôle de transaction

a) COMMIT - est utilisé pour enregistrer toutes les modifications apportées à la base de données depuis le dernier COMMIT ou

ANNULER
b) ANNULER - est utilisé pour annuler les modifications effectuées par une requête depuis la dernière
COMMETTRE ou ANNULER
c)SAVE POINT- a point in the transacton to which you can later rollback

[Link]- data control language

a) GRANT - utilisé pour accorder des privilèges sur des tables et des vues
b) RÉVOQUER - utilisé pour retirer toutes les autorisations accordées
Types de données SQL
Fonctions MySQL

A) FONCTIONS DE CHAINE - opère sur le type de données chaîne


B) FONCTIONS NUMÉRIQUES - opère sur les types de données numériques
C) FONCTIONS DE DATE - opère sur les types de données date/heure
D) FONCTIONS D'AGGRÉGATION - opèrent sur tous les types de données et produisent
résumé des ensembles de résultats

A) FONCTIONS DE CHAÎNE :

UPPER() - transforme en lettres majuscules


Ex:SELECT UPPER(nomdelacolonne)FROMtable;
Ex:SELECT UPPER(FirstName)FROMgdpr;

2)LOWER()- convertit en minuscules


Ex:SELECT MINUSCULISER(nomdelacolonne)DEtableau;
Ex:SELECT LOWER(Prenom)FROMgdpr;

3)LENGTH() - renvoie la longueur de la chaîne


Ex:SELECT LONGUEUR(nom_de_colonne);
Ex:SELECT LONGUEUR(Prenom);
Ex: SÉLECTIONNER * DE table_nom OÙ LONGUEUR(nom_colonne) = X;
Ex:SELECT * FROMgdprWHERE LENGTH(Ville)=4;

TRIM() - supprime les caractères spécifiés des deux côtés


Ex:SELECT TRIMM('ORACLE')FROM DUAL;
Ex:SELECT TRIMM('ORACLE')FROM DUAL;
Ex:SELECT TRIMM(“x”DE ‘xOraclex’)DE DUAL;
Ex:SELECT TRIMM(“Z”FROM ‘ZOracleZ’)FROM DUAL;

5)NSTR() - renvoie la position du caractère dans une chaîne


Ex:SELECT INSTR(‘Oracle’,’e’) - 6 (affiche la position du caractère dans la ligne de chaîne)

6)SUBSTR()/SUBSTRING() - renvoie la sous-chaîne de la chaîne


Ex:SELECT SUBSTR('Oracle',2,3); - rac
Ex:SELECT SUBSTR('Oracle',3,3); - acl
Ex: SELECT SUBSTR('Oracle', 4, 3); - cle
Ex:SELECT SUBSTRING(‘Oracle’,2,3); -rac
Ex:SELECT SUBSTRING('Oracle',3,3); - acl
Ex:SELECT SUBSTRING('Oracle',4,3); - clé
- le premier chiffre indique où vous commencez la sous-chaîne et le deuxième chiffre indique la chaîne
length
Ex:SELECT SUBSTR(nomdelacolonne,1,3)FROMtablename;
Ex:SELECT SUBSTR(Nom,1,3)FROMgdpr;
7)CONCAT()- utilisé pour joindre deux chaînes
Ex:SELECT CONCAT('chaîne1','chaîne2');
Ex:SELECT CONCAT('Oracle','Formation');
Ex:SELECT CONCAT(nomdelacolonne1,nomdelacolonne2)FROMtable;
Ex:SELECT CONCAT(Prenom,Nom)FROMgdpr;

B) FONCTIONS NUMÉRIQUES :

1) ABS, SQRT, MOD, POWER


Ex:SELECT ABS(-40); - montre la valeur absurde de la valeur = 40 (valeur absolue)
Ex :SELECT ABS(40); - montre la valeur absurde de la valeur = 40 (valeur absolue)
Ex :SELECT SQRT(25); - racine carrée = 5 (racine carrée)
Ex:SELECT MOD(10,3); - renvoie le reste d'un nombre divisé par un autre
nombre (10:3=3(rest 1) = 1
Ex:SELECT POWER(2,5); - retourne la valeur de 2 élevé à la puissance 5 = 32

2)TRUNCATE()- tronque un nombre au nombre spécifié de décimales


Ex:SELECT TRUNCATE(40.1234,3); - 40.123
Ex:SELECT TRONQUE(40.1234,2); - 40.12
Ex:SELECT TRUNCATE(6876,-1); - 6870
Ex:SELECT TRUNCATE(6876,-2); - 6800

3)GREATEST()/LEAST() - renvoie les valeurs maximales, minimales parmi les valeurs fournies
Ex:SELECT GREATEST(100,200,300); - 300
Ex:SELECT LEAST(100,200,300); - 100

C) FONCTIONS DE DATE

1)CURDATE()/CURRENT_DATE()- renvoie la date actuelle


Ex:SELECT CURDATE();
Ex:SELECT DATE_ACTUELLE();

2) CURTIME()/CURRENT_TIME() - retourne l'heure actuelle


Ex:SELECT CURTIME();
Ex :SÉLECTIONNER HEURE_ACTUELLE();

3)MAINTENANT() - renvoie la date et l'heure actuelles


Ex:SELECT MAINTENANT();

4)SYSDATE() - renvoie la date et l'heure actuelles du système


Ex :SELECT SYSDATE();
5)MOIS() - retourne le mois d'une date donnée (nombre de 1 à 12)
Ex:SELECT MOIS("2019-05-19"); 5

6)ANNEE() - renvoie la partie année d'une date donnée (nombre de 1000 à 9999)
Ex:SELECT ANNÉE("2019-05-19"); 2019

7) JOUR() - renvoie le jour d'une date donnée (nombre de 1 à 31)


Ex : SÉLECTIONNER JOUR("2019-05-19"); 19

Ex: Display employees who are born in 2017


SÉLECTIONNER * DE nomtable OÙ L'ANNÉE(datecolumn) = "2017"

Ex : Afficher les employés qui sont nés en juin


SÉLECTIONNER*DEtableaunomOÙ MOIS(datecolonne)=”Juin”
Ou
SÉLECTIONNER * DE nom_de_table OÙ MOIS(colonne_date) = "6"

D) FONCTIONS D'AGGRÉGATION

AVG - renvoie la moyenne


Ex:SELECT AVG(columnname)FROMtablename;
Ex:SELECT AVG(Salaire)FROMgdpr;

2)SOMME - calcule la somme totale


Ex:SELECT SOMME(nomdelacolonne)FROMnomdelatable;
Ex:SELECT SUM(Salaire)FROMgdpr;

3)MIN- renvoie la valeur minimale


Ex:SELECT MIN(nomdelacolonne)FROMnomdutable;
Ex:SELECT MIN(Salaire)FROMgdpr;

4)MAX- retourne le maximum


Ex:SELECT MAX(nomdelacolonne)DEtablenom;
Ex:SELECT MAX(Salaire)FROMgdpr;

5)COMPTER-
Ex:SELECT COUNT(*)FROMtablename;
Ex:SELECT COUNT(*)FROMgdpr;
Clauses et résultats MySQL

A) Group By Class
- enregistrements en lignes de synthèse
- renvoie un enregistrement pour chaque groupe
- implique généralement aussi des agrégats : COUNT, MAX, SUM, AVG, etc.
- peut grouper par une ou plusieurs colonnes

Ex: SÉLECTIONNER nom_colonne1, SOMME(nom_colonne2) DE nom_table GROUPE PAR


columname1;
Ex:SELECTPays,SUM(Salaire)FROMgdprGROUP BYPays;

Ex:SELECTnomdelacolonne1,MIN(nomdelacolonne2)FROMnomdutableGROUP BY
columname1;
Ex:SELECTPays,MIN(Salaire)FROMgdprGROUPE PARPays;

Ex:SELECT nomdelacolonne1, MAX(nomdelacolonne2) FROM nomdutable GROUP BY


columname1;
Ex:SELECTPays,MAX(Salaire)FROMgdprGROUP BYPays;

Ex: SÉLECTIONNER nom_colonne1, MOYENNE(nom_colonne2) DE nom_table GROUPE PAR


columname1;
Ex:SELECTPays,AVG(Salaire)DEgdprGROUPE PARPays;

Ex: SÉLECTIONNER colonne, COMPTER(*) DE nom_de_table GROUPE PAR nom_de_colonne;


Ex:SELECTPays,COUNT(*)DEgdprGROUPEPARPays;

Multiples conditions :

Ex: SÉLECTIONNER colonne1, colonne2, COMPTER(*) DE nom_table GROUPE PAR


column1,column2
Ex: SELECT Pays, Ville, COUNT(*) FROM gdpr GROUP BY Pays, Ville

Ex: SÉLECTIONNEZ nom_de_colonne1, nom_de_colonne2, SOMME(nom_de_colonne2) DE nom_de_table


GROUPE PAR nomdelacolonne1, nomdelacolonne2 ;
Ex:SELECT Pays, Ville, SOMME(Salaire) DE gdpr GROUPER PAR Pays, Ville;

B) Clause HAVING :
Ex:SELECT colonne1,SUM(column2) FROM nomtable GROUP BY colonne1 HAVING
SOMME(colonne2)>4000;
Ex: SELECT Pays, SUM(Salaire) FROM gdpr GROUP BY Pays HAVING
SOMME(Salaire)>10000;
C) Clause WHERE :
Ex:SELECT colonne1, SOMME(colonne2) FROM nomtable WHERE colonne1<>Allemagne
GROUPEPARcolonne1;
Ex: SÉLECTIONNER Pays, SOMME(Salaire) DE gdpr OÙ Pays <> Allemagne GROUPE PAR
Country;

B) +C)
Ex: SELECT Pays, SUM(Salaire) FROM gdpr WHERE Pays <> Allemagne GROUP BY
PaysAYANT SOMME(Salaire)>5000;

C) Clause Order By
utilisé pour trier les résultats

Ex:SELECT*FROMtablenameORDER BYcolumnnameDESC/ASC;
Ex:SELECT*FROMgdprORDER BYSalaireDESC/ASC;

Conclusion : WHERE ---> GROUPE PAR ---> AYANT ---> ORDONNER PAR
Ex: SÉLECTIONNER nom_de_colonne --- DE nom_de_table --- OÙ condition --- GROUPE PAR
columnname---HAVINGconditon---ORDER BYcolumnname
Ex: SÉLECTIONNER Pays, SOMME(Salaire) DE gdpr OÙ Pays <> 'Allemagne' GROUPE PAR
Pays AYANT SOMME(Salaire)>10000 ORDRE PAR SOMME(Salaire) DESC;

Mes opérateurs d'ensemble SQL


- utilisé pour joindre et extraire des données de plusieurs tables

1)Union - il extrait les données de plusieurs tables (sans données dupliquées)


2) Union All - il extrait les données des multiples tables (avec des données dupliquées)
3) Intersect - il extrait uniquement les données communes des plusieurs tables
4) Moins - il extrait uniquement les données différentes des multiples tables

Conditions Union & Union All :


- chaque déclaration SELECT dans une UNION doit avoir un type de donnée similaire
chaque instruction SELECT doit avoir le même nombre de colonnes
le même ordre des instructions SELECT

Ex: SÉLECTIONNER colonne1 DE table1 UNION SÉLECTIONNER colonne1 DE table2


Ex: SÉLECTIONNER colonne1, colonne2 DE table1 UNION SÉLECTIONNER colonne1, colonne2 DE
table2
Ex: SÉLECTIONNER colonne1 DE table1 UNION TOUT SÉLECTIONNER colonne1 DE table2
Ex:SELECT colonne1, colonne2 DE table1 UNION ALL SELECT colonne1, colonne2
DEtable2
Mes jointures SQL
- les jointures aident à récupérer des données de deux ou plusieurs tables de données
les tables sont mutuellement liées à l'aide de clés primaires et étrangères
les tables doivent avoir une colonne commune
- types de jointures :
1. Jointure interne - ce qui est commun dans les tables (enregistrer les correspondances)
2. Jointure droite - correspondre aux enregistrements et aux enregistrements non appariés de la table de gauche
3. Jointure à gauche - associer des enregistrements et des enregistrements non apparus de la table de droite
4. Jointure complète - enregistrements correspondants et non correspondants des deux tables
5. Auto-jointure - si vous souhaitez joindre une table avec la même table

1) Jointure Interne
Ex:SELECT*FROMtable1INNER [Link]=[Link];
Ex:SELECT*FROMtab1INNER [Link]=[Link];

2) Jointure droite
Ex:SELECT*FROMtable1DROIT [Link]=[Link];
Ex: SÉLECTIONNER * DE tab1 JOINDRE À DROITE tab2 SUR [Link]=[Link];

3) Jointure à gauche
Ex:SELECT * FROM table1 LEFT JOIN table2 ON [Link] = [Link];
Ex:SELECT*FROMtab1LEFT [Link]=[Link];

4) Jointure complète
Ex:SELECT* DANS table1 JOINDRE ENTIÈREMENT table2 SUR [Link]=[Link];
Ex:SELECT*FROMtab1JOINDRE [Link]=[Link];

5) Auto-jointure
Ex: SÉLECTIONNER * DE table1 AUTO-JOIN table2 OÙ [Link] = [Link];
Ex: SELECT * FROM tab1 AUTO JOIN tab2 WHERE [Link] = [Link];
Sous-requêtes
- requêtes dans des requêtes
- contient 2 parties :
-REQUÊTE INTÉRIEURE
-QUÊTE EXTÉRIEURE
La sortie de la requête interne est l'entrée de la requête externe.
Il existe 2 types de sous-requêtes :
sous-requête à une seule ligne : <=, >=, !=
- sous-requête multi-lignes : IN, ANY, ALL

Contraintes d'intégrité
- utilisé pour spécifier des règles pour les données de table
- peut être spécifié lors de la création de la table avec l'instruction CREATE TABLE. Ou
après avoir créé la table avec la commande ALTER TABLE.

Contraintes SQL :

1)NON NUL - Assure qu'une colonne ne peut pas avoir une valeur NULL
Ex : CRÉER TABLE nomtable (col1 int(3) NON NULL, col2 varchar(20), col3 int(3));
Ex:CREATE TABLEgdpr(EmpIDint(3)NOT NULL,FirstNamevarchar(20),BadgeNo
int(3));

UNIQUE
- s'assure que toutes les valeurs d'une colonne sont différentes
ne permettra pas les valeurs dupliquées
peut s'appliquer à la fois au niveau des colonnes et au niveau des tables

- peut accepter plusieurs NULL

Niveau de colonne :
Ex:CRÉER TABLE nom_de_table (col1 int(3) UNIQUE, col2 varchar(20), col3 int(3));
Ex: CRÉER TABLE gdpr (EmpID int(3) UNIQUE, Prénom varchar(20), BadgeNo
int(3));

Niveau de la table :

Ex: CRÉER TABLE nomtable (col1 int(3), col2 varchar(20), col3 int(3), UNIQUE(col1));
Ex:CREER TABLEgdpr(EmpIDint(3),Prénomvarchar(20),NuméroBadge
int(3),UNIQUE(EmpID));
3) Clé primaire
- NON NUL + UNIQUE - identifie de manière unique chaque ligne dans une table
- ne permettra pas de valeurs en double et également de valeurs nulles
peut s'appliquer à la fois au niveau des colonnes et au niveau des tables

Niveau de colonne :
Ex:CREER TABLE nomtable (col1 entier(3) CLE PRIMAIRE, col2 varchar(20), col3 entier(3));
Ex: CRÉER TABLE gdpr (EmpID int(3) CLÉ PRIMAIRE, Prénom varchar(20), BadgeNo
int(3));

Niveau de la table :

Ex:CREER TABLE nomtable (col1 int(3), col2 varchar(20), col3 int(3), PRIMARY
CLE(col1));
Ex:CRÉER TABLEgdpr(EmpIDint(3),Prénomvarchar(20),BadgeNo
int(3),CLÉ PRIMAIRE(EmpID));

Clé composite (uniquement au niveau de la table) :


lorsque la CLÉ PRIMAIRE s'applique à plusieurs colonnes de la même table
Ex:CREER TABLEgdpr(EmpIDint(3),Prenomvarchar(20),BadgeNo
int(3),PRIMARY KEY(EmpID,BadgeNo));

4)CLE ÉTRANGÈRE
identifie de manière unique une ligne/enregistrement dans une autre table
- est un champ (ou une collection de champs) dans une table qui fait référence à la CLEF PRIMAIREE de
une autre table
- la table contenant la CLÉ ÉTRANGÈRE est appelée la table enfant, et la table
la table contenant la clé candidate est appelée table parente

Ex:
//table parent :
CRÉER TABLE table1 (col1 int(3), col2 varchar(20), col3 int(3), PRIMARY KEY (col1));

// table enfant :
CRÉER TABLE table2 (col4 int(3), CLÉ ÉTRANGÈRE (col1) RÉFÉRENCES table1 (col1), col5
varchar(20));

Ex :
//table parent:
CRÉER TABLE gdpr (EmpID int(3), Prénom varchar(20), NoBadge int(3), PRIMARY
CLÉ(EmpID));

// table enfant :
CRÉER TABLE gdpr2 (EmpID int(3), CLÉ ÉTRANGÈRE (EmpID) RÉFÉRENCES
gdpr(EmpID),Adresse varchar(20));
En suppression en cascade :
- nous ne pouvons pas supprimer des lignes de la table parent à moins que nous ne supprimions la ligne correspondante de

table d'enfant
Nous pouvons supprimer les lignes de la table parente et la ligne correspondante de la table enfant comme
bien (en même temps) en utilisant l'option ON DELETE CASCADE

Ex :
//table parent:
CRÉER TABLE table1 (col1 int(3), col2 varchar(20), col3 int(3), CLE PRIMAIRE (col1));

// table enfant :
CRÉER TABLE table2 (col4 int(3), CLÉ ÉTRANGÈRE (col1) RÉFÉRENCE table1 (col1) SUR
DELETE CASCADE,col5varchar(20));

Ex :
//table parent :
CRÉER TABLE gdpr (EmpID int(3), Prénom varchar(20), BadgeNO int(3), CLÉ PRIMAIRE
CLE(EmpID));

// table enfant :
CRÉER TABLE gdpr2 (EmpID int(3), CLÉ ÉTRANGÈRE (EmpID) RÉFÉRENCES gdpr (EmpID)
SUR SUPPRESSION CASCADE, Adresse varchar(20));

5)VÉRIFIER - garantit que toutes les valeurs d'une colonne satisfont à une condition spécifique

Ex:CRÉER TABLE nom_table (col1 int(3), col2 varchar(20), col3 int(3) VÉRIFIER (col3
ENTREval1ETval2));
Ex:CRÉER TABLEgdpr(EmpIDint(3),Prénomvarchar(20),NuméroBadgenoint(3)
VÉRIFIER(NumBadgeENTRE50ET100));

Ex: CRÉER TABLE nom_table (col1 int(3), col2 varchar(20) VÉRIFIER (col2
DANS(Val1,Val2,Val3),col3 int(3));
Ex: CREER TABLE gdpr (EmpID int(3), Prenom varchar(20) CHECK (Prenom
IN(SCHIOPU,PETRU,LECA),BadgeNoint(3);

6)DÉFAUT
- définit une valeur par défaut pour une colonne lorsque aucune valeur n'est spécifiée
- la valeur par défaut sera ajoutée à tous les nouveaux enregistrements si aucune autre valeur n'est spécifiée

Ex:CREER TABLE nom_table(col1 int(3), col2 varchar(20), col3 datetime DEFAULT


maintenant());
Ex:CREER TABLEgdpr(EmpIDint(3)NON NULL,Prénomvarchar(20),DateCommande
datetme DEFAULT maintenant());
Auto Incrément
- AUTO_INCREMENT est une fonction qui opère sur les types de données numériques
Il génère automatiquement des valeurs séquentielles à chaque fois qu'un enregistrement est inséré.
dans une table pour un champ défini comme auto-incrément

Ex:
CRÉER TABLE nom_table
(col1int(5)CLÉ PRIMAIRES AUTO_INCREMENT,
col2varchar(20)
col3int(3));
ALTER TABLE tablename AUTO_INCREMENT = valeur;

Ex:
CRÉER TABLE gdpr
(BadgeNoint(5)CLÉ PRIMAIRE AUTO_INCREMENT,
Nomvarchar(20),
DepIDint(3));
ALTER TABLE gdpr AUTO_INCREMENT=100;

INSÉRER DANS gdpr(Nom, DepID) valeurs(‘X’,60);


INSÉRER DANS gdpr(Nom, DepID) valeurs('X', 45);
INSÉRER DANS gdpr (Nom, DepID) valeurs ('X', 150);

SÉLECTIONNER * DE gdpr;
Limitation des lignes
- est utilisé pour afficher un nombre limité de lignes d'un tableau

Ex:SELECT * FROM nomdetable LIMIT valeur;


Ex:SELECT * FROM gdpr LIMIT 10; - montre le numéro de ligne 5
Ex:SELECT* FROMgdprLIMIT5,10; - montre de ro5 à 10

Vues et Index SQL


Une vue est une table virtuelle basée sur l'ensemble des résultats du jeu de résultats d'une instruction SQL.
- il contient des lignes et des colonnes, tout comme une vraie table
Les champs dans la vue sont les champs d'une ou plusieurs véritables tables dans la base de données.
- vous pouvez ajouter des fonctions SQL + des déclarations WHERE et JOIN et présenter les données comme si cela
était d'une seule table

Ex:
SELECT*FROMtablename;
CREER VUEtablename_v1COMME SELECTcol1,col2,col3DEtablename;
SÉLECTIONNER * DE nomdelatable_v1;

SUPPRIMER LA VUEtablename_v1;

Ex:
SÉLECTIONNER*DEgdpr;
CRÉER VUE gdpr_v1 AS SÉLECTIONNER Prénom, Nom, Ville DE gdpr;
SELECT * FROM gdpr_v1 ;

SUPPRIMER LA VUE gdpr_v1;


Les index sont utilisés pour récupérer des données des bases de données très rapidement.
- les utilisateurs ne peuvent pas voir les index, ils sont juste utilisés pour accélérer les recherches/queries

Création de l'index :

CRÉER UN INDEX idx_tablename SUR tablename (col);

Suppression de l'index :

SUPPRIMER INDEX idx_tablename SUR tablename;

Vous aimerez peut-être aussi