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