Introduction
Base de Données : ensemble de données structurées représentant une réalité perçue
Elles permettent de stocker de manière structurée diverses données et de facilement les
manipuler
La mise en œuvre des bases de données et leur manipulation se font grâce à un SGBD
Exemple de SGBD : MySQL, PostgreSQL, SQLlite …etc.
Introduction
Une base de données peut être vue comme suit:
◦ La « base », le tout qui va contenir les données, peut être assimilée à un dossier ou encore un
classeur
◦ Dans ce classeur, un certain nombre de fiches. Chaque fiche contient des données relatives à
un certain « objet ». Exemple : les données des utilisateurs (pseudonyme, mot de
passe, email …etc.). On appellera ces fiches : « tables »
◦ Chaque table se présente sous forme de tableau. Les colonnes seront appelées « champs » et
contiendront chacune une donnée précise (exemple: le pseudonyme). Les lignes seront
appelées « entrées »
Introduction
Le SGBD est le seul à pouvoir accéder à la base de données et le seul à pouvoir comprendre son
contenu.
Il faut donc impérativement passer par le SGBD pour pouvoir utiliser la base de données.
Pour se faire, on va gentiment le lui demander via ce qu’on appelle des « requêtes ». Pour qu’il
puisse comprendre, elles seront exprimées en utilisant un certain langage : le langage SQL
(Structured Query Language)
Créer une base de données
Pour cela on utilisera PhpMyAdmin.
C’est un ensemble de pages en Php, offertes par WAMP server pour faciliter la
création d’une base de données.
Comment faire? suivez le guide.
Une clé primaire ??
Une clé primaire est ce qui va permettre d’identifier de manière unique une entrée dans une
table de la base de données.
Toute table doit obligatoirement avoir une clé primaire.
La clé primaire est exprimée grâce à un ou plusieurs champs de la table en question.
En général, on utilisera le champ « id » avec l’option « auto-increment ».
Et MySQL dans tout
ça?
COMMENT RÉCUPÉRER DES INFORMATIONS DEPUIS LA
BDD
Avant d’aller plus loin
Les SGBD ne sont pas directement accessibles : il faut passer par un intermédiaire comme PHP
( et puis même dans le cas contraire ça ne changerai rien)
Pour pouvoir utiliser une base de données, il faut d’abord s’y connecter. On aura besoin pour
cela de l’adresse du serveur où elle se trouve, d’un login et d’un mot de passe.
En Php, l’utilisation des bases de données se fait en faisant appel à des fonctions ayant :
Avant d’aller plus loin
◦ L'extension mysql_ : ce sont des fonctions qui permettent d'accéder à une base de données
MySQL. Leur nom commence toujours par mysql_.
◦ L'extension mysqli_ : ce sont des fonctions améliorées d'accès à MySQL. Elles proposent plus
de fonctionnalités et sont plus à jour.
◦ L'extension PDO : c'est un outil complet qui permet d'accéder à n'importe quel type de base
de données. On peut donc l'utiliser pour se connecter aussi bien à MySQL que PostgreSQL ou
Oracle.
REMARQUE : Pour notre part on utilisera mysql_ car plus simple pour commencer
Se connecter à la base de données
On utilisera pour cela la fonction php :
◦ Server : désigne le nom du serveur
◦ Login : le login qui permet d’accéder à la base de données
◦ Password : le mot de passe pour se connecter
Note : les paramètres sont tous des chaines de caractères
<? php
mysql_connect(server , login , password); // établir la connexion
mysql_select_db(dbname); // spécifier la base de données
?>
Récupérer des données
Pour récupérer des données depuis la base de données, on utilisera la requête SQL « SELECT »
Elle se présente sous la forme suivante :
SELECT « champs » FROM « table » « clause de selection »
La partie en souligné est optionnelle. Elle permet de filtrer les résultats
« champs » et « table » seront respectivement remplacés par les noms des champs à
récupérer et celui de la table depuis laquelle les récupérer
Pour pouvoir utiliser cette requête on fera appel à la fonction Php
(requête est une chaine de caractères contenant la requête SQL )
<? php
mysql_query(requête);
?>
Récupérer des données : les clauses
de sélection
WHERE
◦ Permet de ne sélectionner que les entrées répondant à un certain critère
◦ Exemple : SELECT * FROM utilisateurs WHERE age > 20
◦ Les critères de sélection suivant la clause WHERE sont des conditions pouvant être exprimées
grâce à des opérateurs logiques (AND , OR) et des opérateurs de comparaison
ORDER BY
◦ Permet d’ordonner les résultats obtenus selon la valeur d’un champ spécifique
◦ Exemple : SELECT * FROM utilisateurs ORDER BY age
◦ On peut indiquer que l’ordre doit être décroissant grâce au mot clé DESC que
l’on rajoute à la fin de la requête
Récupérer des données : les clauses
de sélection
LIMIT
◦ Permet de limiter le nombre de résultats retournés
◦ Exemple : SELECT * FROM utilisateurs LIMIT 0, 10 n’affichera que les 10
premiers resultats
◦ LIMIT 0, 20 : affiche les vingt premières entrées ;
◦ LIMIT 5, 10 : affiche de la sixième à la quinzième entrée ;
◦ LIMIT 10, 2 : affiche la onzième et la douzième entrée.
REMARQUE :
Quand utilisés tous à la fois, les mots clé précédent doivent
apparaitre dans l’ordre : where, order by, limit. Il y aura erreur sinon.
Insérer des données
Pour insérer des données, il faudra utiliser la requête SQL « INSERT »
Elle se présente sous plusieurs formes :
INSERT INTO « table » VALUES « entrée »
INSERT INTO « table » VALUES ( « entrée1 » , « entrée2 » , « entrée3 » … )
INSERT INTO « table »(préciser les champs concernés) VALUES « entrée(seul les champs précisés) »
INSERT INTO « table » SET « champ1=valeur1 » , « champ2=valeur2 » , « champ3=valeur3 » …
REMARQUES
◦ « entrée » est de la forme : (valeur_champ1 , valeur_champ2 , …)
◦ Dans la 1ere forme, les champs doivent être ordonnés de la même façon que dans la table
◦ La 2eme forme permet d’insérer plusieurs entrées en une fois
◦ Les deux dernières formes ne permettent pas d’insertions multiples
Modifier des données
La modification se fait grâce à la requête SQL « UPDATE »
« UPDATE » a la forme suivante
UPDATE « table » SET « champ_x=valeur_x » , « champ_y=valeur_y » … WHERE « condition »
Entre SET et WHERE on va préciser quels champs de la table vont être modifier ainsi que les
nouvelles valeurs qui vont leur être affectées.
WHERE est indispensable car permet de préciser quelles entrées de la table vont être modifiées.
Elle s’utilise de la même manière qu’avec SELECT
Supprimer des données
La suppression s’opère avec la requête SQL « DELETE »
DELETE FROM « table » WHERE « condition »
« table » est la table dans laquelle l’on va supprimer des données
WHERE est encore fois indispensable car elle permet de préciser quelle entrées
doivent être supprimées. Elle s’utilise de la même façon qu’avec SELECT et
UPDATE .