100% ont trouvé ce document utile (1 vote)
3K vues31 pages

Bases de données avec WampServer et MySQL

Le document décrit l'utilisation des bases de données dans WampServer. Il explique les concepts de base des bases de données et SGBD puis détaille la création et gestion de bases et tables avec phpMyAdmin.
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
100% ont trouvé ce document utile (1 vote)
3K vues31 pages

Bases de données avec WampServer et MySQL

Le document décrit l'utilisation des bases de données dans WampServer. Il explique les concepts de base des bases de données et SGBD puis détaille la création et gestion de bases et tables avec phpMyAdmin.
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

Rf : tuto_MySQL_WampServer.

doc

Les BASES de DONNEES dans WampServer

1 Dfinitions Gnrales
Une base de donnes (BDD) permet d'enregistrer, de stocker, de ranger des
donnes de faon organise et hirarchise.
SQL est le langage qui permet de manipuler les bases de donnes.
Les SGBD (Systmes de Gestion de Base de Donnes) sont les programmes
qui vous permettent de grer vos donnes directement sans utiliser de script
PHP.
Les plus connus sont :
MySQL : libre et gratuit, c'est probablement le SGBD le plus connu. Nous
l'utiliserons
PostgreSQL : libre et gratuit comme MySQL, avec plus de fonctionnalits mais
un peu moins connu.
SQLite: libre et gratuit, trs limit en fonctionnalits.
Oracle : utilis par les entreprises, un des SGBD les plus complets mais payant.
Microsoft SQL Server : le SGBD de Microsoft.

1.1 Structure de la base de donnes


La base dans le langage SQL, permet de classer les informations contenues
dans les tables.
Une table contient des donnes diffrentes. Une base contient au maximum
256 tables. C'est l que sont enregistres les donnes, sous la forme d'un
tableau.
Dans ce tableau, les colonnes sont appeles des champs, et les lignes sont
appeles
des
entres.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 1/31

Rf : tuto_MySQL_WampServer.doc

1.2 Gestion des Bases de Donnes


La base de donnes gre les informations sous forme de tableaux, MySQL
enregistre des informations, les crit et les enregistre dans des fichiers !
Ces fichiers sont quelque part sur votre disque dur. Il faut toujours utiliser
MySQL qui va se charger d'extraire et de modifier les informations dans ces
fichiers.
Chaque SGBD a sa propre faon d'enregistrer les donnes
Par exemple, avec MySQL sous Windows si vous utilisez WAMP, vous devriez
trouver
les
fichiers
o
sont
stockes
les
informations
dans
C:\wamp\mysql\data.
On va devoir communiquer avec la BDD pour lui donner l'ordre de rcuprer ou
d'enregistrer des donnes. Pour "parler" avec le BDD, on utilise le langage SQL
(Structured Query Language).
Le langage SQL permet de construire de puissantes BDD relationnelles,
quelque soit la BDD utilise.

2 UTILISATION avec PHPMyADMIN


Nous allons donc utiliser MySQL qui est fourni dans WampServer.
PhpMyAdmin est linterface dutilisation de MYSQL, bas sur le PHP et le HTML,
de WampServer
Lorsque nous lanons WampServer nous avons
licne
dans notre barre des tches. Si nous
cliquons sur cette icne nous ouvrons une
fentre de commande dans laquelle nous
pouvons cliquer sur phpMyAdmin .

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 2/31

Rf : tuto_MySQL_WampServer.doc

Nous ouvrons alors la fentre suivante :

2.1 CREER UNE BASE DE DONNEES


Lancer Wamp server et ouvrir phpMyAdmin nous avons alors dans la fentre (1)
un champ (2) Crer une base de donns :

Donner un nom la base : base_essai et cliquer sur crer

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 3/31

Rf : tuto_MySQL_WampServer.doc

Nous avons alors confirmation de la cration dans un cadre entour de vert et


juste dessous la ligne de code SQL qui a t gnre pour effectuer cette
opration.
Cette information est trs importante car elle nous permettra par la suite de
copier/coller du code sans avoir le retaper intgralement !
Dans la colonne gauche en bleu nous avons notre base avec entre parenthses
le nombre de table incorpores ; 0 pour linstant puisque nous nen avons
encore cre aucune !
Nb : le champ Interclassement concerne divers langages ; exemple :

Nous laissons WampServer grer cela.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 4/31

Rf : tuto_MySQL_WampServer.doc

2.2 Crer et Grer des Tables


Pour cela nous slectionnons notre base en cliquant dessus :

Nous nommons la table et dfinissons le nombre de colonnes souhait (champs)


ici table_nom et 2 colonnes.
Lcran suivant souvre :

On remplit chaque champ


Un index Id, type entier INT qui servira de cl primaire, taille/valeur 4 chiffres,
dans index mettre INDEX et cocher la case AUTO_INCREMENT.
Un champ Nom qui pourra contenir une chane de caractres avec le type
VARCHAR de 30 caractres dans le champ taille/valeur
On ignore les autres champs.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 5/31

Rf : tuto_MySQL_WampServer.doc

Puis on SAUVEGARDE (si on excute on cre un nouveau champ) la table est


enregistre et apparat dans la liste

Linstruction SQL apparat bien sous le message encadr de vert de


confirmation dexcution.
Remarquons que la colonne NULL indique linformation Non ce qui ce traduit
dans les lignes de code SQL par NOT NULL et signifie qui les champs ne
doivent pas tre vide. Si nous avions voulu accepter des champs vides il aurait
fallu cocher la case NULL (ligne en vert) dans lcran de cration des colonnes.
De la mme faon crons une deuxime table table_activites avec 3
colonnes tennis petanque bridge :

Nous

avons

maintenant

TIC UIAD Cration de site internet 2me anne

notre

base

de

Daniel Gaudin Jean Claude Chne

donnes

avec

deux

tables.

page 6/31

Rf : tuto_MySQL_WampServer.doc

2.3 Les Onglets de gestion


Nous voyons en haut de lcran des onglets de navigation. Chaque onglet a
une fonction. Celui sur lequel nous sommes, Structure: affiche les divers
champs ci-dessus.
SQL : permet de lancer une instruction directement en SQL

Rechercher : un enregistrement, divers paramtres, permet de faire des


Requtes (une recherche croise entre les champs de diffrentes tables)
nous verrons cela plus en dtail.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 7/31

Rf : tuto_MySQL_WampServer.doc

Insrer : cette commande sert insrer des donnes dans une table de notre
base. Il convient douvrir la table et de cliquer sur longlet Insrer
Notez : si notre table est vide nous ne pouvons lafficher et nous avons cet
cran :

Une fentre de saisie des donnes souvre. Elle nous propose deux champs de
saisie dans lesquels nous pouvons inscrire des donnes. Le champ Id nest
pas renseigner puisquil sauto-incrmente .

Il faut ensuite cliquer sur Excuter pour insrer les donnes dans la table.
ATTENTION, si on ne rentre des donnes que dans le deuxime champ et que
lon clique sur excuter les deux champs seront implments dans la table, le
premier tant vide.
Une fois excute la saisie nous obtenons cet cran et la table ntant plus vide
nous pouvons lafficher.

.
Nous voyons alors nos saisies et l Id a t incrment automatiquement, l
il commence 5 car nous avons fait des essais auparavant et les avons effacs.
TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 8/31

Rf : tuto_MySQL_WampServer.doc

Exporter : la base, quivaut enregistrer sous pour sauvegarder

Il faut vrifier que toutes les tables sont bien slectionnes et que le choix est
bien sur SQL puis cliquer sur Excuter.
Une fentre souvre et lon choisi lemplacement pour enregistrer le fichier
en .sql !

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 9/31

Rf : tuto_MySQL_WampServer.doc

Importer : une base, sert ouvrir et implmenter dans WampServer


une ou des tables dans une base, existante ou crer avant limportation,
partir dun fichier en .sql (ou autre sil tait besoin comme .zip par ex.)

Choisir le fichier dans lemplacement avec cette commande et cliquer sur


Excuter.
Oprations : permet de crer, modifier, renomer, vider les bases et les tables.

Longlet Privilges permet la gestion des utilisateurs. Gnralement lon


travaille sous Root mais il peut tre utile de crer plusieurs utilisateurs quand
on gre plusieurs bases surtout partir dun site Web !.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 10/31

Rf : tuto_MySQL_WampServer.doc

Pour cela il faut cliquer sur Ajouter un utilisateur et renseigner les champs puis
cliquer sur Excuter.

Lutilisation du bouton Gnrer un mot de passe est dconseille car le mot de


passe gnr est trs long !
Enfin longlet Supprimer sert effacer compltement une table ou une base.
A utiliser avec prudence !

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 11/31

Rf : tuto_MySQL_WampServer.doc

3 MANIPULATION des donnes dans WampServer


Avant de manipuler les donnes rentres dans notre table nous allons prciser
un certain nombre de caractristiques possibles utilises par MySQL.

3.1 Les types de champs MySQL


Allons dans longlet Structure de notre table et ajoutons une colonne
en fin de table. Lorsque lon clique sur Excuter nous ouvrons cette
fentre :

Droulons la liste des types que vous propose MySQL sur la ligne Type :

Alors que PHP ne propose que quelques types de donnes (int, string, bool...),
MySQL propose une quantit trs importante de types de donnes.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 12/31

Rf : tuto_MySQL_WampServer.doc

En fait, ceux-ci sont classs par catgories :


NUMERIC : ce sont les nombres. On y trouve des types ddis aux petits
nombres entiers (TINYINT), aux gros nombres entiers (BIGINT), aux nombres
dcimaux (DOUBLE), etc.
DATE and TIME : ce sont les dates et les heures. De nombreux types
diffrents permettent de stocker une date, une heure, ou les deux la fois.
STRING : ce sont les chanes de caractres. L encore, il y a des types
adapts toutes les tailles.
SPATIAL : cela concerne les bases de donnes spatiales, utile pour ceux qui
font de la cartographie. Ce ne sera pas notre cas, donc nous n'en parlerons pas
ici.
Attention : si dans un champ numrique le 0 est en premier il ne sera pas pris
en compte. Il faut donc utiliser un champ caractre pour par exemple stocker
des numros de tlphone.
En fait, phpMyAdmin a eu la bonne ide de proposer au tout dbut de cette
liste les 4 types de donnes les plus courants :
INT : nombre entier.
VARCHAR : court texte (entre 1 et 255 caractres).
TEXT : long texte (on peut y stocker un roman sans problme).
DATE : date (jour, mois, anne).
Nous n'aurons besoin de jongler qu'entre ces 4 types, donc ce sont eux qu'il
faut retenir. Cela couvrira 99% des besoins. Vous pouvez aussi garder en tte
le type DOUBLE qui permet de stocker des nombres dcimaux.
Une petite remarque propos de VARCHAR : c'est un type adapt aux courts
textes, vous devez indiquer la taille maximale du champ (entre 1 et 255). Si
vous ne le faites pas, vous ne pourrez pas crer la table.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 13/31

Rf : tuto_MySQL_WampServer.doc

3.2 Les cls primaires


Toute table doit possder un champ qui joue le rle de cl primaire. La cl
primaire permet d'identifier de manire unique une entre dans la table. En
gnral, on utilise le champ "Id" comme cl primaire par dfaut.
Chaque enregistrement de votre site doit pouvoir tre identifi de manire
unique. Le moyen le plus simple pour cela est de lui donner un numro unique,
dans un champ nomm "Id". Il ne peut pas y avoir deux enregistrements avec
le mme Id dans la mme table ou dans deux tables dune mme base de
donnes !
Il est vital que chaque table possde sa cl primaire. Des tables sans cl
primaire auront leurs performances extrmement rduites. Crer chaque fois
ce champ "Id" en lui donnant l'index PRIMARY, ce qui aura pour effet d'en
faire une cl primaire, cocher la case AUTO_INCREMENT afin que ce champ
gre lui-mme les nouvelles valeurs automatiquement chaque nouvelle saisie.

3.3 Les REQUTES


Nous avons vu que longlet Rechercher nous permet de faire des requtes
dans nos tables.
Une requte SQL est un texte qui donne un ordre excuter un moteur de
base de donnes sur une base de donnes. On utilise la commande SELECT.
Elle peut concerner un enregistrement ou plusieurs, elle peut mettre en jeu
une table ou plusieurs. La requte est compose de mots cls, les commandes
SQL (qui sont pour linstant gnres automatiquement par WampServer).
Reprcisons galement que les commandes SQL ne sont pas sensibles la
casse ni l'criture mais les champs sont sensibles la syntaxe.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 14/31

Rf : tuto_MySQL_WampServer.doc

Pour cet exemple nous importons une nouvelle table, jeu_video , dans
notre base_essai afin de disposer de donnes plus nombreuses et plus
varies pour que notre dmonstration soit plus significative.
Cette table possde 50 Entres qui ont chacune 7 colonnes, elle a cet
aspect :

Nous allons donc dans longlet Rechercher et nous obtenons cette vue :

Nous voyons que toutes les colonnes de la structure de notre table sont
affiches et que pour chacune delles nous avons un choix possible
d Oprateur .

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 15/31

Rf : tuto_MySQL_WampServer.doc

Ce choix est diffrent suivant le TYPE de donnes de notre colonne.


Les TYPE numriques (int, double,) et les TYPE alphanumriques (varchar,
text,)

..
Les oprateurs de comparaison permettent de confronter deux valeurs, et
renvoient un rsultat selon que celles-ci sont identiques (true) ou pas (false).
MySQL propose quelques options en plus des oprateurs habituels.
Attention : tous ne sont pas proposs par WampServer en automatique et tous
ne sutilise pas avec tous les types de donnes; on ne va pas utiliser une
comparaison de chaine de caractre comme REGEXP avec une valeur
numrique par exemple.
Exemple de requtes :
Recherchons dans notre table tous les jeux fonctionnant sur PC :

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 16/31

Rf : tuto_MySQL_WampServer.doc

Qui nous donnera le rsultat suivant :

Recherchons maintenant si Michel a test des jeux sous PC :

Voici le rsultat :

Notez le code SQL gnr par WampServer :


SELECT *
FROM `jeux_video WHERE`possesseur`='michel'
AND `console` LIKE 'PC'
LIMIT 0, 30

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 17/31

Rf : tuto_MySQL_WampServer.doc

Enfin dernier exemple recherchons dans les commentaires le mot meilleur :

Et voyons le rsultat :

Il existe galement dautres oprateurs permettant dautre fonction sutilisant


toujours avec la commande SELECT, comme par exemple ORDER BY qui
permet de trier une liste de rsultats nous verrons tout cela dans la section
suivante consacre la syntaxe du langage SQL !

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 18/31

Rf : tuto_MySQL_WampServer.doc

4 Le LANGAGE SQL
Noublions pas que le but est daccder aux donnes de la base de donnes
afin de les manipuler pour obtenir le rsultat qui nous intresse.
Nous avons donc appris crer, implmenter et manipuler des bases de
donnes avec SQL par lintermdiaire du SGBD MySQL fourni dans
WampServer.
Nous allons maintenant tudier un peu plus en dtail le langage SQL lui-mme
afin de pouvoir plus tard manipuler nos bases de donnes laide de script PHP
inclus dans des pages HTML via notre site.
Une commande SQL est aussi appele instruction SQL ou requte SQL.
SQL fournit un ensemble de commandes pour une varit de tches, dont:
la cration et la modification du schma de la BDD,
linterrogation de la base de donnes,
linsertion, la mise jour et la suppression des donnes dans la base
de donnes,
la dfinition de vues,
le contrle de laccs aux donnes,
la cration d'index pour acclrer les interrogations
Nous allons donc taper directement des instructions SQL depuis une fentre de
commande en ligne telle celle propose par WampServer via longlet SQL :

Lensemble des commandes SQL tant en anglais nous allons avant cela faire
un petit rappel des principales dfinitions, commandes et du vocabulaire
notre disposition.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 19/31

Rf : tuto_MySQL_WampServer.doc

4.1 Les Dfinitions


Abrviation
anglaise

Signification
anglaise

Abrviation
franaise

Signification
franaise

DB

Data Base

BD ou BDD

Base de Donnes

DBMS

Data Base
Management
System

SGBD

Systme de
Gestion de Base
de Donnes

SQL

Structured Query
Language

SQL

Langage
Structur de
Donnes

Langage
dExtraction de
Donnes

DDL

Data Definition
Language

DDL

Langage de
Dfinition des
Donnes

Les Commandes
Principales

DML

Data
Manipulation
Language

DML

Langage de
Manipulation des
Donnes

Les Commandes
dOprations sur
les Donnes

TABLE

Table

ROW

Ligne

COLUMN

Colonne

DATATYPE

Type de Donnes

Remarque

4.2 Le Vocabulaire de Commande


Commande

Dfinition

Syntaxe

Exemple

CREATE

Cration dune
entit SQL

CREATE entit
nom

CREATE DATABASE
ma_base

SELECT

Interrogation de la
Base de Donnes

SELECT titre de
colonne FROM table
WHERE valeur choisie

SELECT console, prix


FROM jeux_video
WHERE prix<20

DROP

Supprimer une
entit

DELETE

Effacer des
donnes

TIC UIAD Cration de site internet 2me anne

DROP entit nom


DELETE FROM entit
WHERE
champ = valeur
effacer

Daniel Gaudin Jean Claude Chne

DROP TABLE ma_table

DELETE FROM ma_table


WHERE id=1

page 20/31

Rf : tuto_MySQL_WampServer.doc

INSERT

Insertion de
donnes

INSERT INTO entit


(champ1,champ2)
values
(valeur1,valeur2)

INSERT INTO ma_table


(nom, prnom)
values
(Gaudin,Daniel)

UPDATE

Mise jour de
donnes

UPDATE entit SET


champ =nouvelle
valeur WHERE
champ = valeur

UPDATE ma_table SET


nom=Jules WHERE
nom=Gaudin

ALTER entit ADD


Ou CHANGE
ALTER

Modification dune
entit

Ou MODIFY
Ou DROP
Ou RENAME action
mener

USE

Slectionne la base
de travail

USE base de donnes


Commande

ALTER TABLE
`ma_table` ADD
`Age` INT(2) NOT
NULL

USE ma_base
SELECT

Nota : lutilisation de * avec SELECT dans la forme SELECT * entrane


laffichage de toutes les colonnes de toutes les tables cites aprs FROM .

4.3 Les Oprateurs de comparaisons


Oprateur(s)

Renvoi "true" si...

<> ou !=

...les deux valeurs ne sont pas gales

<

...la valeur de gauche est strictement


infrieure celle de droite

>

...la valeur de gauche est strictement


suprieure celle de droite

<=

...la valeur de gauche est strictement


infrieure ou gale celle de droite

>=

...la valeur de gauche est strictement


suprieure ou gale celle de droite

BETWEENAND

...la valeur teste est situe entre


deux valeurs donnes

IN

...la valeur teste se situe dans une


liste valeurs donnes

NOT IN

...la valeur teste ne se situe pas


dans une liste de valeurs donnes

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 21/31

Rf : tuto_MySQL_WampServer.doc

LIKE

...la valeur de gauche correspond


celle de droite (celle de droite peux
utiliser le caractre % pour simuler
n'importe quel nombre de caractre,
et _ pour un seul caractre

NOT LIKE

...les deux valeurs ne correspondent


pas

REGEXP ou RLIKE

...la valeur de gauche correspond


l'expression rgulire donne

NOT REGEXP

...la valeur de gauche ne correspond


pas l'expression rgulire donne

IS NULL

...la valeur teste est nulle

IS NOT NULL

...la valeur teste nest pas nulle

4.4 La syntaxe des lignes de commandes


Il est dusage pour se retrouver plus facilement dans la ligne de code, certaines
peuvent tre trs longues, de mettre en majuscules les COMMANDES et en
minuscules les informations. Mais MySQL est insensible la casse.
Les noms de base et de table ne peuvent contenir despaces ou des caractres
spciaux, cest pourquoi nous y insrons des tirets bas _ . Bien quils soient
accepts on vitera les caractres accentus dans les noms de base et de
tables. Par contre nous pouvons les utiliser sans problme dans les titres de
colonnes.
Les noms donns aux bases, tables, colonnes, champs, doivent tre mis
entre (simple cote) dans la plupart des instructions.
Les valeurs cres ou donnes dans une instruction le sont entre () et
spares par des virgules , .
Chaque instruction doit se terminer par un point-virgule ; .

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 22/31

Rf : tuto_MySQL_WampServer.doc

Cela nous donne les commandes de base suivantes :


Pour crer une base : CREATE DATABASE base_essai ;
Pour crer une table dans notre base :
Il faut slectionner la base avec : USE base_essai ;
Crer en nommant la table : CREATE TABLE nom_de_table (pas de ; l car
les attributs entre parenthses suivent directement cette commande)
Y mettre au minimum une ligne pour pouvoir crer la table : (nom_ligne
VARCHAR(25)); (l nous prcisons que cette ligne sera de type caractres
varis de 25 champs)
Notre ligne de commande aura donc cette structure :
CREATE TABLE nom_de_table (nom_ligne VARCHAR(25));
Maintenant il va falloir toffer notre table en y rajoutant lignes et structures !
Rajoutons une colonne :
ALTER table table_test ADD ref varchar(10) ;
Insrons-y des donnes :
INSERT INTO table_test VALUES (valeur1, valeur2) ;
Et faisons une requte :
SELECT ref FROM table_test ;

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 23/31

Rf : tuto_MySQL_WampServer.doc

5 Exemples de codes SQL*


5.1 Base de Donnes une table
Crons notre base :
CREATE DATABASE employees ;
Crons une table 3 colonnes :
CREATE TABLE personal_info (first_name char(20) not null, last_name
char(20) not null, employeeid int not null) ;
Ajoutons une colonne :
ALTER TABLE personal_info ADD salary DOUBLE NULL ;
Incrmentons nos premires valeurs dans la table :
INSERT INTO personal_info values('bart','simpson',1000,45000) ;
Insrons maintenant plusieurs valeurs en mme temps :
INSERT INTO `employees`.`personal_info` (`first_name`, `last_name`,
`employeeid`, `salary`) VALUES ('mickey', 'mouse', '1001', '32000'),
('donald', 'duck', '1002', '26000'), ('peter', 'pan', '1003', '64000'), ('fritz',
'the cat', '1004', '33000');
Si nous voulons trier la liste et lafficher suivant un ordre prcis :
ALTER TABLE `personal_info` ORDER BY `employeeid` ;
Pour afficher une colonne :
SELECT last_name FROM personal_info ;
Pour afficher les valeurs dune colonne avec une condition :
SELECT * FROM personal_info WHERE salary > 40000 ;
Pour mettre jour toutes les valeurs dune colonne :
UPDATE personal_info SET salary = salary * 1.03 ;

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 24/31

Rf : tuto_MySQL_WampServer.doc

Pour modifier une valeur dans une colonne :


UPDATE personal_info SET salary = salary + 5000 WHERE employeeid = 1002 ;
Pour supprimer des donnes :
DELETE FROM personal_info WHERE employeeid = 1003 ;
Pour vider une table de tout son contenu :
TRUNCATE TABLE `personal_info` ;
Pour supprimer une table :
DROP TABLE personal_info ;
Pour supprimer une base de donnes :
DROP DATABASE employees ;

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 25/31

Rf : tuto_MySQL_WampServer.doc

5.2 Base de donnes plusieurs tables*


Nous allons utiliser lexemple prcdent en y crant une table supplmentaire :
(si vous avez cras la base employees , recrez-la en utilisant les codes de
lexemple prcdent)
CREATE TABLE disciplinary_action (action_id int not null, employeeid int
not null, comments char(255)) ;
Nous allons maintenant y mettre des donnes :
INSERT
INTO
`employees`.`disciplinary_action`
(`action_id`,
`employeeid`, `comments`) VALUES ('1', '1002', 'absence irrgulire'),
('2', '1004', 'mise pied'), ('3', '1000', 'ivresse son poste');
Recherchons maintenant quel(s) employs ont eu une sanction :
SELECT
personal_info.first_name,
personal_info.last_name,
disciplinary_action.comments FROM personal_info, disciplinary_action
WHERE personal_info.employeeid = disciplinary_action.employeeid ;
Pour cela il faut bien tre dans la base employees et sur longlet SQL.

Lorsquon excute linstruction SQL nous renvoi bien

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 26/31

Rf : tuto_MySQL_WampServer.doc

une liste avec les Noms et Prnoms des employs avec la sanction subie.
Si nous voulons rajouter un critre supplmentaire notre requte nous
utilisons
loprateur
complmentaire
AND
comme
ceci
AND
personal_info.salary > 40000 ce qui nous donnera :
SELECT
personal_info.first_name,
personal_info.last_name,
disciplinary_action.comments FROM personal_info, disciplinary_action
WHERE personal_info.employeeid = disciplinary_action.employeeid AND
personal_info.salary > 40000 ;
Et nous renvoi :

Remarquez bien la syntaxe utilise pour indiquer MySQL que nous voulons
rechercher dans deux tables :

SELECT nom_table1 nom_colonne, nom_table2 nom_colonne

FROM nom_table1, nom_table2 WHERE nom_table1 nom_colonne = ;


A chaque instruction dans la requte la table pointe est rajoute devant le
nom de colonne avec un point de liaison.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 27/31

Rf : tuto_MySQL_WampServer.doc

Ajoutons maintenant un champ notre table personal_info :


ALTER TABLE personal_info ADD (reportsto INTEGER NULL);
Et remplissons les :
UPDATE
`personal_info` SET
`employeeid` = '1000' ;

`reportsto` =

'220000' WHERE

UPDATE
`personal_info` SET
`employeeid` = '1001' ;

`reportsto` =

'300000' WHERE

UPDATE
`personal_info` SET
`employeeid` = '1002' ;

`reportsto` =

'180000' WHERE

UPDATE
`personal_info` SET
`employeeid` = '1003' ;

`reportsto` =

'130000' WHERE

UPDATE
`personal_info` SET
`employeeid` = '1004' ;

`reportsto` =

'230000' WHERE

Crons une troisime table :


CREATE TABLE employeeterritories (employeeid INTEGER NOT NULL,
territoryid INTEGER NOT NULL, state VARCHAR(5), city TINYTEXT);
Nous obtenons :

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 28/31

Rf : tuto_MySQL_WampServer.doc

Remplissons maintenant notre table :


INSERT INTO `employeeterritories` (`employeeid`, `territoryid`,
`state`, `city`) VALUES ('1000', '100', 'CA', 'Sacramento'), ('1001', '200',
'AZ', 'Phoenix'), ('1002', '300', 'TX', 'Austin'), ('1003', '400', 'GE',
'Atlanta'), ('1004', '500', 'FL', 'Tallahassee');
Nous obtenons :

Nous allons maintenant faire une requte sur nos trois tables qui peut
sexprimer ainsi :
Quels sont les employs (nom et prnom) travaillant dans quel endroit (ville et
tat) qui font un chiffre daffaire suprieur 200 000$ et qui ont subi une
sanction disciplinaire ?
SELECT DISTINCT personal_info.first_name, personal_info.last_name,
[Link],
[Link],
personal_info.reportsto,
disciplinary_action
.comments
FROM
personal_info,
employeeterritories,
disciplinary_action
WHERE
personal_info.reportsto >200000 AND personal_info.employeeid =
[Link]
AND
personal_info.employeeid
=
disciplinary_action. employeeid ;

A vous de trouver de nouveaux exemples !


TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 29/31

Rf : tuto_MySQL_WampServer.doc

5.3 La jointure
Introduisons maintenant une nouvelle commande, la JOINTURE, commande
JOIN !
Toujours avec notre base employees essayons cette instruction :
SELECT first_name, last_name, city, reportsto
FROM personal_info
JOIN employeeterritories
ON personal_info.employeeid = [Link]
WHERE reportsto >200000 ;
Nous obtenons :

Faisons une requte sur nos trois tables :


SELECT first_name,
personal_info

last_name,

city,

reportsto,

comments

FROM

JOIN
employeeterritories
[Link]

ON

personal_info.employeeid

JOIN
disciplinary_action
disciplinary_action.employeeid

ON

personal_info.employeeid

WHERE reportsto >200000


Nous obtenons bien le mme rsultat qu la page prcdente :

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 30/31

Rf : tuto_MySQL_WampServer.doc

* : vous pouvez copier-coller les codes utiliss dans ces exemples mais en
faisant attention de ne pas copier les puces de dbut de ligne !
De mme il peut arriver que la police soit mal interprte par WampServer et
que vous soyez oblig de retaper toute linstruction.

TIC UIAD Cration de site internet 2me anne

Daniel Gaudin Jean Claude Chne

page 31/31

Vous aimerez peut-être aussi