Avant d'utiliser les fonctions PHP pour utiliser votre base de données, il faut au préalable avoir quelques bases de SQL. Ne vous inquiétez pas, ce n'est pas dur, il faut juste s'y mettre.

1- Avant propos

Ce tutorial suppose que vous avez accès à une base de données (vous avez par exemple installé MySQL sur votre machine, ou votre hébergeur vous propose une base MySQL).

Pour commencer, il faut créer une base de données et une table. Une base de données est constituée d'un ensemble de tables contenant les données. La base de données correspond donc en quelque sorte à un dossier, qui contient des fichiers (les tables).

La base de données

CREATE DATABASE base1;

La table

CREATE TABLE test (
  id int(11) DEFAULT '0' NOT NULL auto_increment,
  nom varchar(20) NOT NULL,
  email varchar(50),
  dateheure datetime,
  PRIMARY KEY (id)
);

Nous avons donc créé une table appelée test, contenant 4 champs :

  • L'identifiant id qui permet de différencier les données. C'est un nombre entier qui s'auto-incrémente à chaque ajout.
  • Le nom et l'email : chaînes pouvant contenir respectivement 20 et 50 caractères.
  • La date et l'heure dateheure, stockée sous le format AAAA-MM-DD HH:MM:SS (par exemple 2005-03-01 22:54:03)

2- Insérer des données

Il faut insérer des données afin de pouvoir les manipuler par la suite. La commande "INSERT" permet de le faire.

Sa syntaxe simplifiée est :

INSERT INTO nom_table [(nom_col,...)]
VALUES (expression,...),(...),...

Deux exemples identiques :

INSERT INTO test(nom,email,dateheure) VALUES('damien','damien@igalaxie.com',NOW())
INSERT INTO test VALUES(0,'damien','damien@igalaxie.com',NOW())

En pratique on utilisera toujours la première méthode, car si on modifie la table il n'est pas forcément nécessaire de modifier toutes nos requêtes.

3- Manipuler des données

La commande "SELECT" permet de sélectionner des données afin de les afficher. C'est certainement la commande SQL la plus complexe, nous allons donc, dans un premier temps, simplifier sa syntaxe au maximum.

SELECT selection_col,... FROM table
[WHERE condition(s)]
[ORDER BY nom_col [ASC | DESC] ,...]

Pour afficher, par exemple, tous les enregistrements d'une table, par identifiant décroissant :

SELECT * FROM test ORDER BY id DESC

Supposons que l'on veuille seulement les enregistrements dont l'email se termine par @phpfrance.com, en les triant par email croissant, puis par date de création décroissante :

SELECT * FROM test WHERE email LIKE '%@phpfrance.com" ORDER BY email ASC, dateheure DESC

4- Effacer des données

La commande "DELETE" se charge d'effacer les données.

Sa syntaxe simplifiée est :

DELETE FROM nom_table
[WHERE condition(s)]

Pour effacer toutes les données d'une table :

DELETE FROM test

Et oui, ce n'est pas plus dur .. mais une erreur est vite arrivée, faites attention !

5- Modifier des données

La commande "UPDATE" met à jour les données dans une table.

Sa syntaxe simplifiée est :

UPDATE nom_table SET col1=expr1,col2=expr2,...
[WHERE condition(s)]

Je veux, par exemple, modifier l'adresse email de Damien :

UPDATE test SET email='damien@phpfrance.com' WHERE nom='damien'

Là encore, faites attention, il est facile de faire une erreur en oubliant la clause WHERE et en modifiant ainsi toutes les adresses email.