Programmation du Web : PHP et MySQL

Transcription

Programmation du Web : PHP et MySQL
Programmation du Web : PHP et MySQL
Jean-Baptiste Vioix
([email protected])
IUT de Dijon-Auxerre - LE2I
http://jb.vioix.free.fr
1-18
Présentation
Principes des bases de données
Principes des bases de données
Une base de données est un regroupement d’informations.
Plusieurs abstractions sont possibles pour le stockage, une des plus
usuelle est le modèle relationnel.
Actuellement de nombreuses bases de données supportent le langage
SQL (Structured Query Language) qui permet d’automatiser de
nombreuses actions.
http://jb.vioix.free.fr
2-18
Présentation
Principes des bases de données
Principes des bases de données
Une base de données est un regroupement d’informations.
Plusieurs abstractions sont possibles pour le stockage, une des plus
usuelle est le modèle relationnel.
Actuellement de nombreuses bases de données supportent le langage
SQL (Structured Query Language) qui permet d’automatiser de
nombreuses actions.
http://jb.vioix.free.fr
2-18
Présentation
Principes des bases de données
Principes des bases de données
Une base de données est un regroupement d’informations.
Plusieurs abstractions sont possibles pour le stockage, une des plus
usuelle est le modèle relationnel.
Actuellement de nombreuses bases de données supportent le langage
SQL (Structured Query Language) qui permet d’automatiser de
nombreuses actions.
http://jb.vioix.free.fr
2-18
Présentation
Principes des bases de données
Vocabulaire
Une base de données relationnelle est composée de tables (qui sont
aussi nommées relations) définies par différents champs (les colonnes
de la table).
A l’intérieur des tables on place des enregistrements (les lignes de la
table).
http://jb.vioix.free.fr
3-18
Présentation
Principes des bases de données
Vocabulaire
Une base de données relationnelle est composée de tables (qui sont
aussi nommées relations) définies par différents champs (les colonnes
de la table).
A l’intérieur des tables on place des enregistrements (les lignes de la
table).
http://jb.vioix.free.fr
3-18
MySQL
Présentation
MySQL : présentation
MySQL est un moteur de base de données souvent utilisé
conjointement à PHP.
Il est disponible gratuitement sur plusieurs architectures (Windows,
Linux, Solaris, ...).
La plupart des commandes SQL sont supportées.
http://jb.vioix.free.fr
4-18
MySQL
Présentation
MySQL : présentation
MySQL est un moteur de base de données souvent utilisé
conjointement à PHP.
Il est disponible gratuitement sur plusieurs architectures (Windows,
Linux, Solaris, ...).
La plupart des commandes SQL sont supportées.
http://jb.vioix.free.fr
4-18
MySQL
Présentation
MySQL : présentation
MySQL est un moteur de base de données souvent utilisé
conjointement à PHP.
Il est disponible gratuitement sur plusieurs architectures (Windows,
Linux, Solaris, ...).
La plupart des commandes SQL sont supportées.
http://jb.vioix.free.fr
4-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Les données stockées dans une table peuvent avoir différents types :
entiers (signés ou non) : TINYINT, SMALLINT, MEDIUMINT, INT,
BIGINT. L’ajout du mot clef UNSIGNED après le type de variable
permet de spécifier une variable non signé.
flottants : FLOAT et DOUBLE
tableaux de n caractères max. : VARCHAR(n) et VARCHAR(n) BINARY
chaı̂nes de caractères : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT
date : DATE, TIME, YEAR, DATETIME, ...
binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB
Les chaı̂nes de caractères ne sont pas sensibles à la casse lors des
recherches contrairement aux types BLOB.
Les ensembles et les énumérations sont aussi possibles.
http://jb.vioix.free.fr
5-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour créer une table on utilise la commande CREATE TABLE suivie du
nom de la table.
La liste des champs est ensuite placée entre parenthèses, les champs
séparés par des virgules.
Chaque champ est définit par son nom suivit de son type puis certains
paramètres facultatifs.
http://jb.vioix.free.fr
6-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour créer une table on utilise la commande CREATE TABLE suivie du
nom de la table.
La liste des champs est ensuite placée entre parenthèses, les champs
séparés par des virgules.
Chaque champ est définit par son nom suivit de son type puis certains
paramètres facultatifs.
http://jb.vioix.free.fr
6-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour créer une table on utilise la commande CREATE TABLE suivie du
nom de la table.
La liste des champs est ensuite placée entre parenthèses, les champs
séparés par des virgules.
Chaque champ est définit par son nom suivit de son type puis certains
paramètres facultatifs.
http://jb.vioix.free.fr
6-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour créer une table on utilise la commande CREATE TABLE suivie du
nom de la table.
La liste des champs est ensuite placée entre parenthèses, les champs
séparés par des virgules.
Chaque champ est définit par son nom suivit de son type puis certains
paramètres facultatifs.
C R E A T E TABLE r e p e r t o i r e (
nom V A R C H A R (20) ,
p r e n o m V A R C H A R (20) ,
mail V A R C H A R (50) ,
A d r e s s e TINYTEXT ,
Code p o s t a l SMALLINT ,
Ville V A R C H A R (30)
)
http://jb.vioix.free.fr
6-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de forcer un champ à être non nul à l’aide de la
directive NOT NULL.
Une valeur par défaut peut être proposée à un champ avec la directive
DEFAULT suivit d’une valeur.
Le mot clef UNIQUE permet d’éviter la duplication d’un élément. Il est
possible de spécifier plusieurs éléments pour définir l’unicité.
Pour repérer un enregistrement dans la table on utilise un champ
unique nommé clé. Le mot clef PRIMARY KEY permet de spécifier une
clé primaire.
http://jb.vioix.free.fr
7-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de forcer un champ à être non nul à l’aide de la
directive NOT NULL.
Une valeur par défaut peut être proposée à un champ avec la directive
DEFAULT suivit d’une valeur.
Le mot clef UNIQUE permet d’éviter la duplication d’un élément. Il est
possible de spécifier plusieurs éléments pour définir l’unicité.
Pour repérer un enregistrement dans la table on utilise un champ
unique nommé clé. Le mot clef PRIMARY KEY permet de spécifier une
clé primaire.
http://jb.vioix.free.fr
7-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de forcer un champ à être non nul à l’aide de la
directive NOT NULL.
Une valeur par défaut peut être proposée à un champ avec la directive
DEFAULT suivit d’une valeur.
Le mot clef UNIQUE permet d’éviter la duplication d’un élément. Il est
possible de spécifier plusieurs éléments pour définir l’unicité.
Pour repérer un enregistrement dans la table on utilise un champ
unique nommé clé. Le mot clef PRIMARY KEY permet de spécifier une
clé primaire.
http://jb.vioix.free.fr
7-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de forcer un champ à être non nul à l’aide de la
directive NOT NULL.
Une valeur par défaut peut être proposée à un champ avec la directive
DEFAULT suivit d’une valeur.
Le mot clef UNIQUE permet d’éviter la duplication d’un élément. Il est
possible de spécifier plusieurs éléments pour définir l’unicité.
Pour repérer un enregistrement dans la table on utilise un champ
unique nommé clé. Le mot clef PRIMARY KEY permet de spécifier une
clé primaire.
http://jb.vioix.free.fr
7-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de forcer un champ à être non nul à l’aide de la
directive NOT NULL.
Une valeur par défaut peut être proposée à un champ avec la directive
DEFAULT suivit d’une valeur.
Le mot clef UNIQUE permet d’éviter la duplication d’un élément. Il est
possible de spécifier plusieurs éléments pour définir l’unicité.
Pour repérer un enregistrement dans la table on utilise un champ
unique nommé clé. Le mot clef PRIMARY KEY permet de spécifier une
clé primaire.
C R E A T E TABLE r e p e r t o i r e (
id S M A L L I N T NOT NULL ,
nom V A R C H A R (20) NOT NULL ,
p r e n o m V A R C H A R (20) NOT NULL ,
mail V A R C H A R (50) ,
A d r e s s e TINYTEXT ,
Code p o s t a l SMALLINT ,
Ville V A R C H A R (30) ,
P R I M A R Y KEY ( id ) ,
U N I Q U E ( nom , p r e n o m )
)
http://jb.vioix.free.fr
7-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour ajouter un enregistrement dans une table on utilise la directive
INSERT
La syntaxe par défaut est INSERT INTO table (champs,...)
VALUES (valeurs,...)
Une syntaxe simplifiée est possible en omettant les champs, il faut
veiller à placer les valeurs dans le bon ordre sans omission.
http://jb.vioix.free.fr
8-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour ajouter un enregistrement dans une table on utilise la directive
INSERT
La syntaxe par défaut est INSERT INTO table (champs,...)
VALUES (valeurs,...)
Une syntaxe simplifiée est possible en omettant les champs, il faut
veiller à placer les valeurs dans le bon ordre sans omission.
http://jb.vioix.free.fr
8-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour ajouter un enregistrement dans une table on utilise la directive
INSERT
La syntaxe par défaut est INSERT INTO table (champs,...)
VALUES (valeurs,...)
Une syntaxe simplifiée est possible en omettant les champs, il faut
veiller à placer les valeurs dans le bon ordre sans omission.
I N S E R T INTO r e p e r t o i r e ( nom , p r e n o m ,
mail , A d r e s s e , Code p o s t a l , Ville )
V A L U E S ( ’ M a r t i n ’ , ’ Paul ’ , ’ Paul . M a r t i n @ m a i l . com ’ ,
’ 1 rue de la l i b e r t é ’ , 75000 , ’ Paris ’ )
http://jb.vioix.free.fr
8-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour ajouter un enregistrement dans une table on utilise la directive
INSERT
La syntaxe par défaut est INSERT INTO table (champs,...)
VALUES (valeurs,...)
Une syntaxe simplifiée est possible en omettant les champs, il faut
veiller à placer les valeurs dans le bon ordre sans omission.
I N S E R T INTO r e p e r t o i r e ( nom , p r e n o m ,
mail , A d r e s s e , Code p o s t a l , Ville )
V A L U E S ( ’ M a r t i n ’ , ’ Paul ’ , ’ Paul . M a r t i n @ m a i l . com ’ ,
’ 1 rue de la l i b e r t é ’ , 75000 , ’ Paris ’ )
http://jb.vioix.free.fr
8-18
MySQL
Le langage SQL
MySQL : le langage SQL
Pour ajouter un enregistrement dans une table on utilise la directive
INSERT
La syntaxe par défaut est INSERT INTO table (champs,...)
VALUES (valeurs,...)
Une syntaxe simplifiée est possible en omettant les champs, il faut
veiller à placer les valeurs dans le bon ordre sans omission.
I N S E R T INTO r e p e r t o i r e ( nom , p r e n o m ,
mail , A d r e s s e , Code p o s t a l , Ville )
V A L U E S ( ’ M a r t i n ’ , ’ Paul ’ , ’ Paul . M a r t i n @ m a i l . com ’ ,
’ 1 rue de la l i b e r t é ’ , 75000 , ’ Paris ’ )
I N S E R T INTO r e p e r t o i r e V A L U E S ( ’ M a r t i n ’ , ’ Paul ’ ,
’ Paul . M a r t i n @ m a i l . com ’ , ’ 1 rue de la l i b e r t é ’ ,
75000 , ’ Paris ’ )
http://jb.vioix.free.fr
8-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
S E L E C T nom , p r e n o m FROM r e p e r t o i r e WHERE ( nom = ’ M a r t i n ’)
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
S E L E C T nom , p r e n o m FROM r e p e r t o i r e WHERE ( nom = ’ M a r t i n ’)
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La manipulation la plus fréquente en SQL est la recherche d’éléments
en fonction de certains critères.
La syntaxe est la suivante : SELECT champs FROM table WHERE
conditions .
Cette commande va renvoyer une nouvelle relation contenant les
enregistrements conformes à la requête.
La sélection de certains champs dans une seule table se nomme
projection.
Deux autres opérations sont possibles : la jointure et la sélection.
S E L E C T nom , p r e n o m FROM r e p e r t o i r e WHERE ( nom = ’ M a r t i n ’)
http://jb.vioix.free.fr
9-18
MySQL
Le langage SQL
MySQL : le langage SQL
La sélection est une ”généralisation” de la projection.
La syntaxe est la suivante : SELECT * FROM table WHERE
conditions .
Attention à ne pas remplacer toutes les projections par des sélections
car ces opérations sont plus ”gourmandes” en mémoire.
http://jb.vioix.free.fr
10-18
MySQL
Le langage SQL
MySQL : le langage SQL
La sélection est une ”généralisation” de la projection.
La syntaxe est la suivante : SELECT * FROM table WHERE
conditions .
Attention à ne pas remplacer toutes les projections par des sélections
car ces opérations sont plus ”gourmandes” en mémoire.
http://jb.vioix.free.fr
10-18
MySQL
Le langage SQL
MySQL : le langage SQL
La sélection est une ”généralisation” de la projection.
La syntaxe est la suivante : SELECT * FROM table WHERE
conditions .
Attention à ne pas remplacer toutes les projections par des sélections
car ces opérations sont plus ”gourmandes” en mémoire.
S E L E C T * FROM r e p e r t o i r e WHERE ( nom = ’ M a r t i n ’ );
http://jb.vioix.free.fr
10-18
MySQL
Le langage SQL
MySQL : le langage SQL
La sélection est une ”généralisation” de la projection.
La syntaxe est la suivante : SELECT * FROM table WHERE
conditions .
Attention à ne pas remplacer toutes les projections par des sélections
car ces opérations sont plus ”gourmandes” en mémoire.
S E L E C T * FROM r e p e r t o i r e WHERE ( nom = ’ M a r t i n ’ );
http://jb.vioix.free.fr
10-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
http://jb.vioix.free.fr
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
http://jb.vioix.free.fr
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
C R E A T E TABLE A b o n n e s (
id S M A L L I N T NOT NULL ,
nom V A R C H A R ( 20 ) NOT NULL ,
p r e n o m V A R C H A R ( 20 ) NOT NULL ,
mail V A R C H A R ( 50 ) ,
A d r e s s e TINYTEXT ,
‘ Code postal ‘ SMALLINT ,
Ville V A R C H A R ( 30 ) ,
P R I M A R Y KEY ( id ) ,
U N I Q U E ( nom , p r e n o m )
)
C R E A T E TABLE Dvd (
id S M A L L I N T NOT NULL ,
nom V A R C H A R (100) NOT NULL ,
e m p r u n t e u r SMALLINT ,
P R I M A R Y KEY ( id ) ,
U N I Q U E ( nom )
)
http://jb.vioix.free.fr
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
I N S E R T INTO ‘ Abonnes ‘ (
‘ Code postal ‘ , ‘ Ville ‘
VALUES ( ’1 ’, ’ Martin ’,
’ 75000 ’ , ’ Paris ’ );
I N S E R T INTO ‘ Abonnes ‘ (
‘ Code postal ‘ , ‘ Ville ‘
VALUES ( ’2 ’, ’ Dupont ’,
’ 21000 ’ , ’ Dijon ’ );
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
INSERT
VALUES
‘id ‘ , ‘ nom ‘ , ‘ prenom ‘ , ‘ mail ‘ , ‘ Adresse ‘ ,
)
’ Paul ’ , ’ Paul . M a r t i n @ m a i l . com ’ , ’ 1 rue de la l i b e r t é ’ ,
‘id ‘ , ‘ nom ‘ , ‘ prenom ‘ , ‘ mail ‘ , ‘ Adresse ‘ ,
)
’ M i c h e l ’ , ’ M i c h e l . D u p o n t @ m a i l . fr ’ , ’ 12 rue des roses ’ ,
INTO ‘ Dvd ‘ ( ‘id ‘ , ‘ nom ‘ , ‘ emprunte ur
( ’ 1 ’ , ’ Le r e t o u r du roi ’ , NULL );
INTO ‘ Dvd ‘ ( ‘id ‘ , ‘ nom ‘ , ‘ emprunte ur
( ’ 2 ’ , ’ La r e v a n g e des Siths ’ , ’ 1 ’ );
INTO ‘ Dvd ‘ ( ‘id ‘ , ‘ nom ‘ , ‘ emprunte ur
( ’ 3 ’ , ’ La g u e r r e des c l o n e s ’ , NULL );
INTO ‘ Dvd ‘ ( ‘id ‘ , ‘ nom ‘ , ‘ emprunte ur
( ’ 4 ’ , ’ C h i c k e n Run ’ , ’ 1 ’ );
INTO ‘ Dvd ‘ ( ‘id ‘ , ‘ nom ‘ , ‘ emprunte ur
( ’ 5 ’ , ’ T i t a n i c ’ , ’ 2 ’ );
http://jb.vioix.free.fr
‘ )
‘ )
‘ )
‘ )
‘ )
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
S E L E C T A b o n n e s . nom , A b o n n e s . prenom , Dvd . nom FROM Abonnes , Dvd
WHERE ( A b o n n e s . id = Dvd . e m p r u n t e u r )
http://jb.vioix.free.fr
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
La jointure consiste à rechercher des informations dans deux tables
pour en composer le résultat.
Attention à bien lever les ambiguı̈tés sur les champs lors de la requête.
nom
Martin
Martin
Dupont
http://jb.vioix.free.fr
prénom
Paul
Paul
Michel
nom
La revanche des Siths
Chicken Run
Titanic
11-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de modifier les valeurs d’un enregistrement avec la
commande UPDATE.
La syntaxe est : UPDATE table SET champs=valeur, ... pour un
remplacement simple.
Il est possible d’effectuer un remplacement conditionnel avec UPDATE
table SET champs=valeur, ... WHERE condition .
http://jb.vioix.free.fr
12-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de modifier les valeurs d’un enregistrement avec la
commande UPDATE.
La syntaxe est : UPDATE table SET champs=valeur, ... pour un
remplacement simple.
Il est possible d’effectuer un remplacement conditionnel avec UPDATE
table SET champs=valeur, ... WHERE condition .
http://jb.vioix.free.fr
12-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de modifier les valeurs d’un enregistrement avec la
commande UPDATE.
La syntaxe est : UPDATE table SET champs=valeur, ... pour un
remplacement simple.
Il est possible d’effectuer un remplacement conditionnel avec UPDATE
table SET champs=valeur, ... WHERE condition .
http://jb.vioix.free.fr
12-18
MySQL
Le langage SQL
MySQL : le langage SQL
Il est possible de modifier les valeurs d’un enregistrement avec la
commande UPDATE.
La syntaxe est : UPDATE table SET champs=valeur, ... pour un
remplacement simple.
Il est possible d’effectuer un remplacement conditionnel avec UPDATE
table SET champs=valeur, ... WHERE condition .
U P D A T E A b o n n e s SET A d r e s s e = ’ 5 rue des A c c a c i a s ’ WHERE ( id =2)
http://jb.vioix.free.fr
12-18
MySQL
Le langage SQL
MySQL : le langage SQL
La commande DELETE permet de supprimer un (ou des) champ(s).
La syntaxe est : DELETE FROM table WHERE condition .
Attention cette manipulation est irréversible (par défaut).
http://jb.vioix.free.fr
13-18
MySQL
Le langage SQL
MySQL : le langage SQL
La commande DELETE permet de supprimer un (ou des) champ(s).
La syntaxe est : DELETE FROM table WHERE condition .
Attention cette manipulation est irréversible (par défaut).
http://jb.vioix.free.fr
13-18
MySQL
Le langage SQL
MySQL : le langage SQL
La commande DELETE permet de supprimer un (ou des) champ(s).
La syntaxe est : DELETE FROM table WHERE condition .
Attention cette manipulation est irréversible (par défaut).
http://jb.vioix.free.fr
13-18
MySQL
Le langage SQL
MySQL : le langage SQL
La commande DELETE permet de supprimer un (ou des) champ(s).
La syntaxe est : DELETE FROM table WHERE condition .
Attention cette manipulation est irréversible (par défaut).
D E L E T E FROM A b o n n e s WHERE ( id =1)
http://jb.vioix.free.fr
13-18
PHP et MySQL
Présentation
PHP et MySQL : présentation
A l’heure actuelle PHP supporte la plupart des moteurs de bases de
données.
Il est souvent utilisé avec MySQL, ces deux éléments formant une
architecture gratuite et fiable.
L’accès aux bases de données est très souple et très facile.
http://jb.vioix.free.fr
14-18
PHP et MySQL
Présentation
PHP et MySQL : présentation
A l’heure actuelle PHP supporte la plupart des moteurs de bases de
données.
Il est souvent utilisé avec MySQL, ces deux éléments formant une
architecture gratuite et fiable.
L’accès aux bases de données est très souple et très facile.
http://jb.vioix.free.fr
14-18
PHP et MySQL
Présentation
PHP et MySQL : présentation
A l’heure actuelle PHP supporte la plupart des moteurs de bases de
données.
Il est souvent utilisé avec MySQL, ces deux éléments formant une
architecture gratuite et fiable.
L’accès aux bases de données est très souple et très facile.
http://jb.vioix.free.fr
14-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La première chose à faire avant d’utiliser une base de données est de
s’y connecter.
PHP propose deux fonctions très proches pour effectuer cette tâche :
mysql connect et mysql pconnect
Les deux nécessitent les mêmes arguments : le nom du serveur de
base de données, le nom de l’utilisateur et enfin le mot de passe, elles
renvoient un identifiant de connexion utilisé par les autres méthodes
associées à MySQL.
Avec mysql pconnect la connexion est persistante, elle est
maintenue à la fin du script qui l’a créée.
http://jb.vioix.free.fr
15-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La première chose à faire avant d’utiliser une base de données est de
s’y connecter.
PHP propose deux fonctions très proches pour effectuer cette tâche :
mysql connect et mysql pconnect
Les deux nécessitent les mêmes arguments : le nom du serveur de
base de données, le nom de l’utilisateur et enfin le mot de passe, elles
renvoient un identifiant de connexion utilisé par les autres méthodes
associées à MySQL.
Avec mysql pconnect la connexion est persistante, elle est
maintenue à la fin du script qui l’a créée.
http://jb.vioix.free.fr
15-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La première chose à faire avant d’utiliser une base de données est de
s’y connecter.
PHP propose deux fonctions très proches pour effectuer cette tâche :
mysql connect et mysql pconnect
Les deux nécessitent les mêmes arguments : le nom du serveur de
base de données, le nom de l’utilisateur et enfin le mot de passe, elles
renvoient un identifiant de connexion utilisé par les autres méthodes
associées à MySQL.
Avec mysql pconnect la connexion est persistante, elle est
maintenue à la fin du script qui l’a créée.
http://jb.vioix.free.fr
15-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La première chose à faire avant d’utiliser une base de données est de
s’y connecter.
PHP propose deux fonctions très proches pour effectuer cette tâche :
mysql connect et mysql pconnect
Les deux nécessitent les mêmes arguments : le nom du serveur de
base de données, le nom de l’utilisateur et enfin le mot de passe, elles
renvoient un identifiant de connexion utilisé par les autres méthodes
associées à MySQL.
Avec mysql pconnect la connexion est persistante, elle est
maintenue à la fin du script qui l’a créée.
http://jb.vioix.free.fr
15-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La première chose à faire avant d’utiliser une base de données est de
s’y connecter.
PHP propose deux fonctions très proches pour effectuer cette tâche :
mysql connect et mysql pconnect
Les deux nécessitent les mêmes arguments : le nom du serveur de
base de données, le nom de l’utilisateur et enfin le mot de passe, elles
renvoient un identifiant de connexion utilisé par les autres méthodes
associées à MySQL.
Avec mysql pconnect la connexion est persistante, elle est
maintenue à la fin du script qui l’a créée.
...
$ c o n n e x i o n = m y s q l _ c o n n e c t ( " l o c a l h o s t " , " bill " , " e r 5 f g t " );
...
http://jb.vioix.free.fr
15-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La méthode mysql select db permet de choisir une base.
Le premier argument est le nom de la base, le second une connexion
valide.
Un booléen est renvoyé pour représenter le résultat
http://jb.vioix.free.fr
16-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La méthode mysql select db permet de choisir une base.
Le premier argument est le nom de la base, le second une connexion
valide.
Un booléen est renvoyé pour représenter le résultat
http://jb.vioix.free.fr
16-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La méthode mysql select db permet de choisir une base.
Le premier argument est le nom de la base, le second une connexion
valide.
Un booléen est renvoyé pour représenter le résultat
http://jb.vioix.free.fr
16-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
La méthode mysql select db permet de choisir une base.
Le premier argument est le nom de la base, le second une connexion
valide.
Un booléen est renvoyé pour représenter le résultat
...
$ok = m y s q l _ s e l e c t _ d b ( " v o y a g e s " , $ c o n n e x i o n );
...
http://jb.vioix.free.fr
16-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Ensuite, les requêtes SQL sont envoyées avec mysql query
Le premier argument est la requête sous la forme d’une chaı̂ne de
caractères, le second la connexion valide.
Le cas échéant, la fonction renvoie un résultat sous la forme d’une
ressource.
La méthode mysql num rows permet de savoir combien d’éléments
composent une ressource.
http://jb.vioix.free.fr
17-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Ensuite, les requêtes SQL sont envoyées avec mysql query
Le premier argument est la requête sous la forme d’une chaı̂ne de
caractères, le second la connexion valide.
Le cas échéant, la fonction renvoie un résultat sous la forme d’une
ressource.
La méthode mysql num rows permet de savoir combien d’éléments
composent une ressource.
http://jb.vioix.free.fr
17-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Ensuite, les requêtes SQL sont envoyées avec mysql query
Le premier argument est la requête sous la forme d’une chaı̂ne de
caractères, le second la connexion valide.
Le cas échéant, la fonction renvoie un résultat sous la forme d’une
ressource.
La méthode mysql num rows permet de savoir combien d’éléments
composent une ressource.
http://jb.vioix.free.fr
17-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Ensuite, les requêtes SQL sont envoyées avec mysql query
Le premier argument est la requête sous la forme d’une chaı̂ne de
caractères, le second la connexion valide.
Le cas échéant, la fonction renvoie un résultat sous la forme d’une
ressource.
La méthode mysql num rows permet de savoir combien d’éléments
composent une ressource.
http://jb.vioix.free.fr
17-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Ensuite, les requêtes SQL sont envoyées avec mysql query
Le premier argument est la requête sous la forme d’une chaı̂ne de
caractères, le second la connexion valide.
Le cas échéant, la fonction renvoie un résultat sous la forme d’une
ressource.
La méthode mysql num rows permet de savoir combien d’éléments
composent une ressource.
...
$res = m y s q l _ q u e r y ( " S E L E C T * FROM r e p e r t o i r e WHERE 1 " , $ c o n n e x i o n );
if ( m y s q l _ n u m _ r o w s ( $res ) >0){
...
}
...
http://jb.vioix.free.fr
17-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Les ressources peuvent être accédées sous la forme de tableaux
indiciés, de tableaux associatifs ou d’objets.
Dans le cadre de ce module nous n’utiliserons que les tableaux
associatifs.
La méthode mysql fetch assoc permet d’accéder aux éléments
résultants d’une requête de manière séquentielle sous la forme d’un
tableau associatif dont les clés portent le nom des champs.
http://jb.vioix.free.fr
18-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Les ressources peuvent être accédées sous la forme de tableaux
indiciés, de tableaux associatifs ou d’objets.
Dans le cadre de ce module nous n’utiliserons que les tableaux
associatifs.
La méthode mysql fetch assoc permet d’accéder aux éléments
résultants d’une requête de manière séquentielle sous la forme d’un
tableau associatif dont les clés portent le nom des champs.
http://jb.vioix.free.fr
18-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Les ressources peuvent être accédées sous la forme de tableaux
indiciés, de tableaux associatifs ou d’objets.
Dans le cadre de ce module nous n’utiliserons que les tableaux
associatifs.
La méthode mysql fetch assoc permet d’accéder aux éléments
résultants d’une requête de manière séquentielle sous la forme d’un
tableau associatif dont les clés portent le nom des champs.
http://jb.vioix.free.fr
18-18
PHP et MySQL
Les principales fonctions
PHP et MySQL : les principales fonctions
Les ressources peuvent être accédées sous la forme de tableaux
indiciés, de tableaux associatifs ou d’objets.
Dans le cadre de ce module nous n’utiliserons que les tableaux
associatifs.
La méthode mysql fetch assoc permet d’accéder aux éléments
résultants d’une requête de manière séquentielle sous la forme d’un
tableau associatif dont les clés portent le nom des champs.
...
while ( $ e l e m e n t = m y s q l _ f e t c h _ a s s o c ( $res )) {
echo $ e l e m e n t [ " nom " ];
echo $ e l e m e n t [ " p r e n o m " ];
echo $ e l e m e n t [ " mail " ];
...
}
...
http://jb.vioix.free.fr
18-18