Vous êtes sur la page 1sur 77

Programmation du Web : PHP et MySQL

Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr)


IUT de Dijon-Auxerre - LE2I

http://jb.vioix.free.fr

1-18

Pr esentation

Principes des bases de donn ees

Principes des bases de donn ees

Une base de donn ees est un regroupement dinformations. Plusieurs abstractions sont possibles pour le stockage, une des plus usuelle est le mod` ele relationnel. Actuellement de nombreuses bases de donn ees supportent le langage SQL (Structured Query Language) qui permet dautomatiser de nombreuses actions.

http://jb.vioix.free.fr

2-18

Pr esentation

Principes des bases de donn ees

Principes des bases de donn ees

Une base de donn ees est un regroupement dinformations. Plusieurs abstractions sont possibles pour le stockage, une des plus usuelle est le mod` ele relationnel. Actuellement de nombreuses bases de donn ees supportent le langage SQL (Structured Query Language) qui permet dautomatiser de nombreuses actions.

http://jb.vioix.free.fr

2-18

Pr esentation

Principes des bases de donn ees

Principes des bases de donn ees

Une base de donn ees est un regroupement dinformations. Plusieurs abstractions sont possibles pour le stockage, une des plus usuelle est le mod` ele relationnel. Actuellement de nombreuses bases de donn ees supportent le langage SQL (Structured Query Language) qui permet dautomatiser de nombreuses actions.

http://jb.vioix.free.fr

2-18

Pr esentation

Principes des bases de donn ees

Vocabulaire

Une base de donn ees relationnelle est compos ee de tables (qui sont aussi nomm ees relations ) d enies par di erents champs (les colonnes de la table). A lint erieur des tables on place des enregistrements (les lignes de la table).

http://jb.vioix.free.fr

3-18

Pr esentation

Principes des bases de donn ees

Vocabulaire

Une base de donn ees relationnelle est compos ee de tables (qui sont aussi nomm ees relations ) d enies par di erents champs (les colonnes de la table). A lint erieur des tables on place des enregistrements (les lignes de la table).

http://jb.vioix.free.fr

3-18

MySQL

Pr esentation

MySQL : pr esentation

MySQL est un moteur de base de donn ees souvent utilis e conjointement a ` PHP. Il est disponible gratuitement sur plusieurs architectures (Windows, Linux, Solaris, ...). La plupart des commandes SQL sont support ees.

http://jb.vioix.free.fr

4-18

MySQL

Pr esentation

MySQL : pr esentation

MySQL est un moteur de base de donn ees souvent utilis e conjointement a ` PHP. Il est disponible gratuitement sur plusieurs architectures (Windows, Linux, Solaris, ...). La plupart des commandes SQL sont support ees.

http://jb.vioix.free.fr

4-18

MySQL

Pr esentation

MySQL : pr esentation

MySQL est un moteur de base de donn ees souvent utilis e conjointement a ` PHP. Il est disponible gratuitement sur plusieurs architectures (Windows, Linux, Solaris, ...). La plupart des commandes SQL sont support ees.

http://jb.vioix.free.fr

4-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Les donn ees stock ees dans une table peuvent avoir di erents types :
entiers (sign es ou non) : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT. Lajout du mot clef UNSIGNED apr` es le type de variable permet de sp ecier une variable non sign e. ottants : FLOAT et DOUBLE tableaux de n caract` eres max. : VARCHAR(n) et VARCHAR(n) BINARY cha nes de caract` eres : TINYTEXT, TEXT, MEDIUMTEXT et LONGTEXT date : DATE, TIME, YEAR, DATETIME, ... binaires : TINYBLOB, BLOB, MEDIUMBLOB et LONGBLOB

Les cha nes de caract` eres ne sont pas sensibles a ` la casse lors des recherches contrairement aux types BLOB. Les ensembles et les enum erations sont aussi possibles.

http://jb.vioix.free.fr

5-18

MySQL

Le langage SQL

MySQL : le langage SQL

Pour cr eer une table on utilise la commande CREATE TABLE suivie du nom de la table. La liste des champs est ensuite plac ee entre parenth` eses, les champs s epar es par des virgules. Chaque champ est d enit par son nom suivit de son type puis certains param` etres facultatifs.

http://jb.vioix.free.fr

6-18

MySQL

Le langage SQL

MySQL : le langage SQL

Pour cr eer une table on utilise la commande CREATE TABLE suivie du nom de la table. La liste des champs est ensuite plac ee entre parenth` eses, les champs s epar es par des virgules. Chaque champ est d enit par son nom suivit de son type puis certains param` etres facultatifs.

http://jb.vioix.free.fr

6-18

MySQL

Le langage SQL

MySQL : le langage SQL

Pour cr eer une table on utilise la commande CREATE TABLE suivie du nom de la table. La liste des champs est ensuite plac ee entre parenth` eses, les champs s epar es par des virgules. Chaque champ est d enit par son nom suivit de son type puis certains param` etres facultatifs.

http://jb.vioix.free.fr

6-18

MySQL

Le langage SQL

MySQL : le langage SQL

Pour cr eer une table on utilise la commande CREATE TABLE suivie du nom de la table. La liste des champs est ensuite plac ee entre parenth` eses, les champs s epar es par des virgules. Chaque champ est d enit par son nom suivit de son type puis certains param` etres 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 a ` etre non nul a ` laide de la directive NOT NULL. Une valeur par d efaut peut etre propos ee a ` un champ avec la directive DEFAULT suivit dune valeur. Le mot clef UNIQUE permet d eviter la duplication dun el ement. Il est possible de sp ecier plusieurs el ements pour d enir lunicit e. Pour rep erer un enregistrement dans la table on utilise un champ unique nomm e cl e. Le mot clef PRIMARY KEY permet de sp ecier une cl e primaire.

http://jb.vioix.free.fr

7-18

MySQL

Le langage SQL

MySQL : le langage SQL


Il est possible de forcer un champ a ` etre non nul a ` laide de la directive NOT NULL. Une valeur par d efaut peut etre propos ee a ` un champ avec la directive DEFAULT suivit dune valeur. Le mot clef UNIQUE permet d eviter la duplication dun el ement. Il est possible de sp ecier plusieurs el ements pour d enir lunicit e. Pour rep erer un enregistrement dans la table on utilise un champ unique nomm e cl e. Le mot clef PRIMARY KEY permet de sp ecier une cl e primaire.

http://jb.vioix.free.fr

7-18

MySQL

Le langage SQL

MySQL : le langage SQL


Il est possible de forcer un champ a ` etre non nul a ` laide de la directive NOT NULL. Une valeur par d efaut peut etre propos ee a ` un champ avec la directive DEFAULT suivit dune valeur. Le mot clef UNIQUE permet d eviter la duplication dun el ement. Il est possible de sp ecier plusieurs el ements pour d enir lunicit e. Pour rep erer un enregistrement dans la table on utilise un champ unique nomm e cl e. Le mot clef PRIMARY KEY permet de sp ecier une cl e primaire.

http://jb.vioix.free.fr

7-18

MySQL

Le langage SQL

MySQL : le langage SQL


Il est possible de forcer un champ a ` etre non nul a ` laide de la directive NOT NULL. Une valeur par d efaut peut etre propos ee a ` un champ avec la directive DEFAULT suivit dune valeur. Le mot clef UNIQUE permet d eviter la duplication dun el ement. Il est possible de sp ecier plusieurs el ements pour d enir lunicit e. Pour rep erer un enregistrement dans la table on utilise un champ unique nomm e cl e. Le mot clef PRIMARY KEY permet de sp ecier une cl e primaire.

http://jb.vioix.free.fr

7-18

MySQL

Le langage SQL

MySQL : le langage SQL


Il est possible de forcer un champ a ` etre non nul a ` laide de la directive NOT NULL. Une valeur par d efaut peut etre propos ee a ` un champ avec la directive DEFAULT suivit dune valeur. Le mot clef UNIQUE permet d eviter la duplication dun el ement. Il est possible de sp ecier plusieurs el ements pour d enir lunicit e. Pour rep erer un enregistrement dans la table on utilise un champ unique nomm e cl e. Le mot clef PRIMARY KEY permet de sp ecier une cl e 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 efaut est INSERT INTO table (champs,...) VALUES (valeurs,...) Une syntaxe simpli ee est possible en omettant les champs, il faut veiller a ` 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 efaut est INSERT INTO table (champs,...) VALUES (valeurs,...) Une syntaxe simpli ee est possible en omettant les champs, il faut veiller a ` 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 efaut est INSERT INTO table (champs,...) VALUES (valeurs,...) Une syntaxe simpli ee est possible en omettant les champs, il faut veiller a ` 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 e , 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 efaut est INSERT INTO table (champs,...) VALUES (valeurs,...) Une syntaxe simpli ee est possible en omettant les champs, il faut veiller a ` 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 e , 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 efaut est INSERT INTO table (champs,...) VALUES (valeurs,...) Une syntaxe simpli ee est possible en omettant les champs, il faut veiller a ` 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 e , 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 e , 75000 , Paris )

http://jb.vioix.free.fr

8-18

MySQL

Le langage SQL

MySQL : le langage SQL

La manipulation la plus fr equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.

http://jb.vioix.free.fr

9-18

MySQL

Le langage SQL

MySQL : le langage SQL

La manipulation la plus fr equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.

http://jb.vioix.free.fr

9-18

MySQL

Le langage SQL

MySQL : le langage SQL

La manipulation la plus fr equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.

http://jb.vioix.free.fr

9-18

MySQL

Le langage SQL

MySQL : le langage SQL

La manipulation la plus fr equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.
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 equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.
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 equente en SQL est la recherche d el ements en fonction de certains crit` eres. La syntaxe est la suivante : SELECT champs FROM table WHERE conditions . Cette commande va renvoyer une nouvelle relation contenant les enregistrements conformes a ` la requ ete. La s election de certains champs dans une seule table se nomme projection. Deux autres op erations sont possibles : la jointure et la s election.
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 election est une g en eralisation de la projection. La syntaxe est la suivante : SELECT * FROM table WHERE conditions . Attention a ` ne pas remplacer toutes les projections par des s elections car ces op erations sont plus gourmandes en m emoire.

http://jb.vioix.free.fr

10-18

MySQL

Le langage SQL

MySQL : le langage SQL

La s election est une g en eralisation de la projection. La syntaxe est la suivante : SELECT * FROM table WHERE conditions . Attention a ` ne pas remplacer toutes les projections par des s elections car ces op erations sont plus gourmandes en m emoire.

http://jb.vioix.free.fr

10-18

MySQL

Le langage SQL

MySQL : le langage SQL

La s election est une g en eralisation de la projection. La syntaxe est la suivante : SELECT * FROM table WHERE conditions . Attention a ` ne pas remplacer toutes les projections par des s elections car ces op erations sont plus gourmandes en m emoire.
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 election est une g en eralisation de la projection. La syntaxe est la suivante : SELECT * FROM table WHERE conditions . Attention a ` ne pas remplacer toutes les projections par des s elections car ces op erations sont plus gourmandes en m emoire.
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 a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete.

http://jb.vioix.free.fr

11-18

MySQL

Le langage SQL

MySQL : le langage SQL

La jointure consiste a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete.

http://jb.vioix.free.fr

11-18

MySQL

Le langage SQL

MySQL : le langage SQL


La jointure consiste a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete.
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 a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete.
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 e , 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 a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete.
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 a ` rechercher des informations dans deux tables pour en composer le r esultat. Attention a ` bien lever les ambigu t es sur les champs lors de la requ ete. nom Martin Martin Dupont pr enom Paul Paul Michel nom La revanche des Siths Chicken Run Titanic

http://jb.vioix.free.fr

11-18

MySQL

Le langage SQL

MySQL : le langage SQL

Il est possible de modier les valeurs dun enregistrement avec la commande UPDATE. La syntaxe est : UPDATE table SET champs=valeur, ... pour un remplacement simple. Il est possible deectuer 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 modier les valeurs dun enregistrement avec la commande UPDATE. La syntaxe est : UPDATE table SET champs=valeur, ... pour un remplacement simple. Il est possible deectuer 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 modier les valeurs dun enregistrement avec la commande UPDATE. La syntaxe est : UPDATE table SET champs=valeur, ... pour un remplacement simple. Il est possible deectuer 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 modier les valeurs dun enregistrement avec la commande UPDATE. La syntaxe est : UPDATE table SET champs=valeur, ... pour un remplacement simple. Il est possible deectuer 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 eversible (par d efaut).

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 eversible (par d efaut).

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 eversible (par d efaut).

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 eversible (par d efaut).
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 esentation

PHP et MySQL : pr esentation

A lheure actuelle PHP supporte la plupart des moteurs de bases de donn ees. Il est souvent utilis e avec MySQL, ces deux el ements formant une architecture gratuite et able. Lacc` es aux bases de donn ees est tr` es souple et tr` es facile.

http://jb.vioix.free.fr

14-18

PHP et MySQL

Pr esentation

PHP et MySQL : pr esentation

A lheure actuelle PHP supporte la plupart des moteurs de bases de donn ees. Il est souvent utilis e avec MySQL, ces deux el ements formant une architecture gratuite et able. Lacc` es aux bases de donn ees est tr` es souple et tr` es facile.

http://jb.vioix.free.fr

14-18

PHP et MySQL

Pr esentation

PHP et MySQL : pr esentation

A lheure actuelle PHP supporte la plupart des moteurs de bases de donn ees. Il est souvent utilis e avec MySQL, ces deux el ements formant une architecture gratuite et able. Lacc` es aux bases de donn ees est tr` es souple et tr` es facile.

http://jb.vioix.free.fr

14-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions


La premi` ere chose a ` faire avant dutiliser une base de donn ees est de sy connecter. PHP propose deux fonctions tr` es proches pour eectuer cette t ache : mysql connect et mysql pconnect Les deux n ecessitent les m emes arguments : le nom du serveur de base de donn ees, le nom de lutilisateur et enn le mot de passe, elles renvoient un identiant de connexion utilis e par les autres m ethodes associ ees a ` MySQL. Avec mysql pconnect la connexion est persistante, elle est maintenue a ` la n du script qui la cr e ee.

http://jb.vioix.free.fr

15-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions


La premi` ere chose a ` faire avant dutiliser une base de donn ees est de sy connecter. PHP propose deux fonctions tr` es proches pour eectuer cette t ache : mysql connect et mysql pconnect Les deux n ecessitent les m emes arguments : le nom du serveur de base de donn ees, le nom de lutilisateur et enn le mot de passe, elles renvoient un identiant de connexion utilis e par les autres m ethodes associ ees a ` MySQL. Avec mysql pconnect la connexion est persistante, elle est maintenue a ` la n du script qui la cr e ee.

http://jb.vioix.free.fr

15-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions


La premi` ere chose a ` faire avant dutiliser une base de donn ees est de sy connecter. PHP propose deux fonctions tr` es proches pour eectuer cette t ache : mysql connect et mysql pconnect Les deux n ecessitent les m emes arguments : le nom du serveur de base de donn ees, le nom de lutilisateur et enn le mot de passe, elles renvoient un identiant de connexion utilis e par les autres m ethodes associ ees a ` MySQL. Avec mysql pconnect la connexion est persistante, elle est maintenue a ` la n du script qui la cr e ee.

http://jb.vioix.free.fr

15-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions


La premi` ere chose a ` faire avant dutiliser une base de donn ees est de sy connecter. PHP propose deux fonctions tr` es proches pour eectuer cette t ache : mysql connect et mysql pconnect Les deux n ecessitent les m emes arguments : le nom du serveur de base de donn ees, le nom de lutilisateur et enn le mot de passe, elles renvoient un identiant de connexion utilis e par les autres m ethodes associ ees a ` MySQL. Avec mysql pconnect la connexion est persistante, elle est maintenue a ` la n du script qui la cr e ee.

http://jb.vioix.free.fr

15-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions


La premi` ere chose a ` faire avant dutiliser une base de donn ees est de sy connecter. PHP propose deux fonctions tr` es proches pour eectuer cette t ache : mysql connect et mysql pconnect Les deux n ecessitent les m emes arguments : le nom du serveur de base de donn ees, le nom de lutilisateur et enn le mot de passe, elles renvoient un identiant de connexion utilis e par les autres m ethodes associ ees a ` MySQL. Avec mysql pconnect la connexion est persistante, elle est maintenue a ` la n du script qui la cr e ee.
... $ 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 ethode mysql select db permet de choisir une base. Le premier argument est le nom de la base, le second une connexion valide. Un bool een est renvoy e pour repr esenter le r esultat

http://jb.vioix.free.fr

16-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions

La m ethode mysql select db permet de choisir une base. Le premier argument est le nom de la base, le second une connexion valide. Un bool een est renvoy e pour repr esenter le r esultat

http://jb.vioix.free.fr

16-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions

La m ethode mysql select db permet de choisir une base. Le premier argument est le nom de la base, le second une connexion valide. Un bool een est renvoy e pour repr esenter le r esultat

http://jb.vioix.free.fr

16-18

PHP et MySQL

Les principales fonctions

PHP et MySQL : les principales fonctions

La m ethode mysql select db permet de choisir une base. Le premier argument est le nom de la base, le second une connexion valide. Un bool een est renvoy e pour repr esenter le r esultat
... $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 etes SQL sont envoy ees avec mysql query Le premier argument est la requ ete sous la forme dune cha ne de caract` eres, le second la connexion valide. Le cas ech eant, la fonction renvoie un r esultat sous la forme dune ressource. La m ethode mysql num rows permet de savoir combien d el ements 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 etes SQL sont envoy ees avec mysql query Le premier argument est la requ ete sous la forme dune cha ne de caract` eres, le second la connexion valide. Le cas ech eant, la fonction renvoie un r esultat sous la forme dune ressource. La m ethode mysql num rows permet de savoir combien d el ements 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 etes SQL sont envoy ees avec mysql query Le premier argument est la requ ete sous la forme dune cha ne de caract` eres, le second la connexion valide. Le cas ech eant, la fonction renvoie un r esultat sous la forme dune ressource. La m ethode mysql num rows permet de savoir combien d el ements 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 etes SQL sont envoy ees avec mysql query Le premier argument est la requ ete sous la forme dune cha ne de caract` eres, le second la connexion valide. Le cas ech eant, la fonction renvoie un r esultat sous la forme dune ressource. La m ethode mysql num rows permet de savoir combien d el ements 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 etes SQL sont envoy ees avec mysql query Le premier argument est la requ ete sous la forme dune cha ne de caract` eres, le second la connexion valide. Le cas ech eant, la fonction renvoie un r esultat sous la forme dune ressource. La m ethode mysql num rows permet de savoir combien d el ements 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 etre acc ed ees sous la forme de tableaux indici es, de tableaux associatifs ou dobjets. Dans le cadre de ce module nous nutiliserons que les tableaux associatifs. La m ethode mysql fetch assoc permet dacc eder aux el ements r esultants dune requ ete de mani` ere s equentielle sous la forme dun tableau associatif dont les cl es 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 etre acc ed ees sous la forme de tableaux indici es, de tableaux associatifs ou dobjets. Dans le cadre de ce module nous nutiliserons que les tableaux associatifs. La m ethode mysql fetch assoc permet dacc eder aux el ements r esultants dune requ ete de mani` ere s equentielle sous la forme dun tableau associatif dont les cl es 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 etre acc ed ees sous la forme de tableaux indici es, de tableaux associatifs ou dobjets. Dans le cadre de ce module nous nutiliserons que les tableaux associatifs. La m ethode mysql fetch assoc permet dacc eder aux el ements r esultants dune requ ete de mani` ere s equentielle sous la forme dun tableau associatif dont les cl es 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 etre acc ed ees sous la forme de tableaux indici es, de tableaux associatifs ou dobjets. Dans le cadre de ce module nous nutiliserons que les tableaux associatifs. La m ethode mysql fetch assoc permet dacc eder aux el ements r esultants dune requ ete de mani` ere s equentielle sous la forme dun tableau associatif dont les cl es 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