BLOC NOTE
MySQL
SQL :
Language de Description/Définition des Données (LDD)
Language de Manipulation de Données(LMD)
Language de Contrôle de Utilisateurs(LCU)
Language Gestion des Transactions(LGT) [rol]
SQL intégré
Structure(LDD) create -Show Alter Drop
-Desc
Contenu(LMD) Insert Select Update Delete
Gérer Créer Consulter Modifier Supprimer
Types: int(x), float(x), varchar(x), date, …
Constraints: primary key (…)
Not null
Foreign key (…)
Application
« AFFICHER LES BD DU SERVEUR »
mysql> show databases;
« CREER UNE BD »
mysql> create database essai;
« CHOIX DE LA BD »
mysql> use essai;
« AFFICHER LES TABLES »
mysql> show tables;
« CREER UNE TABLES AVEC DES CHAMPS »
mysql> create table Quartier
-> (numQ int(2) not null,
-> NomQ varchar(15) not null,
-> ville varchar(10),
-> localisation varchar(5),
-> superficie float,
-> primary key(numQ)); CLE PRIMAIRE
mysql> desc Quartier
(MEME CHOSE POUR “PERSONNE”)
« AJOUTER LE CONTENU DE LA TABLE Quartier »
mysql> insert into Quartier values
-> (1, "Kigobe", "Mairie","Nord",1000),
-> (2, "Kanyosha", null, "Est", 2000);
« AFFICHER LE CONTENU DE LA TABLE Quartier »
mysql> select*from Quartier
mysql> desc Quartier
« AJOUTER LA COLONNE ‘province’ DANS LA TABLE Quartier »
mysql> alter table quartier
-> add column province int(5);
« RENOMMER LA COLONNE ‘province’ en ‘region’ LA TABLE
Quartier »
mysql> alter table quartier
-> change province region varchar(10);
« SUPPRIMER LA COLONNE ‘region’ DE LA TABLE Quartier »
mysql> alter table quartier
-> drop column region;
« SUPPRIMER LA LIGNE DE LA TABLE province où numP=1 »
mysql> delete from province
-> where numP=1;
« MODIFIER LA VALEUR DE ‘habitant’ de ‘buja’ DANS LA TABLE
province »
mysql> update province
-> set habitant=20000
-> where nomP="Buja";
« MODIFIER LA VALEUR DE ‘habitant’ DANS LA TABLE province avec
une condition ‘’numP>1’’ »
mysql> update province
-> set habitant=30000
-> where numP>1;
« MODIFIER LA VALEUR DE ‘habitant’ DANS TOUTE LA TABLE
province »
mysql> update province
-> set habitant=500000;
« MODIFIER TOUTES LES VALEUR D’UNE LIGNE DAN LA TABLE»
mysql> update quartier
-> set nomQ="kanyosha", ville="bujumbura"
-> where numQ=2;
LES REQUETES
Outils
SELECT * Attr1, Att2 …
FROM table1, table2 …
WHERE condition
ORDER by Att ASC/DESC
GROUP by Attrib
HAVING condition ;
« R : ‘Afficher le nom, le prenom et le sexe de la personne’ »
mysql> select nom,prenom,sex
-> from personne;
« R : ‘Afficher les numéros des Quartiers des personnes’ »
mysql> select distinct(numQ) from personne;
« R : ‘Afficher les personnes de sexe féminin ’ »
mysql> select*from personne
-> where sex="feminin";
« R : ‘Afficher les personnes de sexe féminin et nées avant 2005’ »
mysql> select*from personne
-> where sex="feminin" and DateNaiss<'2005-01-01';
« R2 : ‘Afficher les noms et prénoms et leurs quartier’ »
mysql> select nom, prenom, NomQ from personne, quartier
-> where personne.numQ=quartier.numQ;
Ou bien !
mysql> select nom, prenom, nomQ from personne join quartier
-> on personne.numQ=quartier.numQ;
« R : ‘Afficher les personnes de sexe féminin en commençant par les
plus jeunes’ »
mysql> select*from personne
-> where sex="feminin"
-> order by DateNaiss desc;
« R : ‘Afficher les personnes et leur Age’ »
mysql> select nom, prenom, dateNaiss,(2023-year(datenaiss))
as Age
-> from personne;
« R : ‘Compter le nombre personnes par quartier’ »
mysql> select nomQ,count(*) as NBPersonne
-> from personne p, quartier q
-> where p.numQ=q.numQ
-> group by p.numQ;
« R : ‘Afficher les quartiers qui ont deux personnes’ »
mysql> select q.*, count(*) as NbPersonne
-> from personne p,quartier q
-> where p.numQ=q.numQ
-> group by p.numQ
-> having count(*)=2;
« R : ‘Afficher les quartiers qui n’ont pas de personnes’ »
Mysql> select*from quartier
-> where numQ not in
-> (select distinct(NumQ) from personne);
« R : ‘Afficher les personnes ayant des noms commencant par M et
terminant par A’ »
mysql> select*from personne
-> where nom like "m%a";