Conception & Réalisation de sites Web

Les base de données et SQL

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

Une base de données permet de mémoriser des informations de manière structurée.

Les tables

Les données vont êtres mémorisées dans des «tables» de la base de données.

Exemple :

Je veux créer une base de données pour une bibliothèque. J'aurais vraisemblablement au moins 2 tables :
- une table livre qui recensera les livres
- une table utilisateur qui recensera les lecteurs inscrits.

Les champs

Une table va comporter plusieurs champs, chacun mémorisant une information différente.

Exemple :

La table livre va comporter par exemple 4 champs : titre, auteur, annee, genre.
La table utilisateur va comporter au moins 3 champs : numeroUtilisateur, nom, prenom.

Les enregistrements

Les données stockées dans la table sont des enregistrements.

Exemple, la table livre suivante a 3 enregistrements :

titreauteuranneegenre
Le combat ordinaireManu Larcenet2004Bande dessinée
La ligne de FrontManu Larcenet2003Bande dessinée
Madame BâErik Orsenna2003Roman

Les requêtes SQL

Définition

Les «requêtes» sont des instructions qui vont nous permettre d'agir sur la base de données. Elles vont nous permettre de lire des données dans une base, d'en ajouter, d'en modifier et d'en supprimer.

Ces requêtes doivent respecter une syntaxe précise baptisée SQL (Structured Query Language)

Les requêtes de sélection : SELECT

Récupérer des données

Pour lire des données dans la base, nous utiliserons la syntaxe suivante :
SELECT champs_a_recuperer FROM nom_de_la_table

Exemple :

SELECT titre FROM livre

J'obtiens le résultat suivant :

titre
Le combat ordinaire
La ligne de Front
Madame Bâ

Si je souhaite sélectionner plusieurs champs, je les sépare d'une virgule.

Exemple :

SELECT titre, annee FROM livre

J'obtiens le résultat suivant :

titreannee
Le combat ordinaire2004
La ligne de Front2003
Madame Bâ2003

Si je souhaite sélectionner tous les champs de la table, je peux utiliser «*».

Exemple :

SELECT * FROM livre

J'obtiens le résultat suivant :

titreauteuranneegenre
Le combat ordinaireManu Larcenet2004Bande dessinée
La ligne de FrontManu Larcenet2003Bande dessinée
Madame BâErik Orsenna2003Roman

Récupérer des données dans un ordre précis

Je peux trier les résultats en fonction d'un champs en mettant «ORDER BY nom_du_champs» à la suite de ma requête. Je peux alors préciser le sens du tri avec «ASC» pour un tri ascendant (du plus petit au plus grand) ou «DESC» pour un tri descendant (du plus grand au plus petit )

Exemple :

SELECT * FROM livre ORDER BY annee ASC

J'obtiens le résultat suivant :

titreauteuranneegenre
La ligne de FrontManu Larcenet2003Bande dessinée
Madame BâErik Orsenna2003Roman
Le combat ordinaireManu Larcenet2004Bande dessinée

Récupérer seulement certaines données

Je peux sélectionner seulement certains de mes enregistrements en ajoutant une condition. J'utilise pour cela l'instruction WHERE.

Exemple, je veux sélectionner tous les livres dont l'auteur est Manu Larcenet :

SELECT * FROM livre WHERE auteur="Manu Larcenet"

J'obtiens le résultat suivant :

titreauteuranneegenre
Le combat ordinaireManu Larcenet2004Bande dessinée
La ligne de FrontManu Larcenet2003Bande dessinée

Les requêtes d'ajout : INSERT INTO

Pour ajouter des données à une de mes tables, c'est à dire ajouter un enregistrement, j'utilise la syntaxe suivante :
INSERT INTO nom_de_la_table (nom_du_champs1, nom_du_champs2, nom_du_champs3) VALUES ('valeur du champs 1','valeur du champs 2','valeur du champs 3');

Exemple :

INSERT INTO livre (titre, auteur, annee, genre) VALUES ('Tous pareils', 'Edouard Manceau', '2007', 'Livre enfant')

Après cette requête, le contenu de ma table est donc le suivant :

titreauteuranneegenre
Le combat ordinaireManu Larcenet2004Bande dessinée
La ligne de FrontManu Larcenet2003Bande dessinée
Madame BâErik Orsenna2003Roman
Tous pareilsEdouard Manceau2007Livre enfant

Les requêtes de suppression : DELETE FROM

Pour supprimer des données à une de mes tables, c'est à dire supprimer un enregistrement, j'utilise la syntaxe suivante :
DELETE FROM nom_de_la_table WHERE ma_condition_ici;

Exemple :

DELETE FROM livre WHERE titre="La ligne de Front"

Après cette requête, le contenu de ma table est donc le suivant :

titreauteuranneegenre
Le combat ordinaireManu Larcenet2004Bande dessinée
Madame BâErik Orsenna2003Roman
Tous pareilsEdouard Manceau2007Livre enfant

Requêtes de mise à jour : UPDATE

Pour modifer des données dans une de mes tables, c'est à dire mettre à jour un enregistrement, j'utilise la syntaxe suivante :
UPDATE nom_de_la_table SET nom_du_champs1='valeur du champs 1', nom_du_champs2='valeur du champs 2' WHERE ma_condition_ici ;

Exemple :

UPDATE livre SET titre="LE COMBAT ORDINAIRE", auteur="MANU LARCENET", annee="2003" WHERE titre="Le combat ordinaire"

Après cette requête, le contenu de ma table est donc le suivant :

titreauteuranneegenre
LE COMBAT ORDINAIREMANU LARCENET2003Bande dessinée
Madame BâErik Orsenna2003Roman
Tous pareilsEdouard Manceau2007Livre enfant
Copyright © 2017 Erwan DUPEUX MAIRE - Tous droits réservés.
Valid XHTML 1.0 Transitional Valid CSS!