Créer des bases de données et des tables
Dans la leçon précédente, nous avons vu comment créer une connexion à un serveur de base de données. La prochaine étape consistera à créer des bases de données et des tables.
Nous verrons deux manières de créer des bases de données et des tables. D'abord la manière de faire dans PHP, puis celle avec l'outil plus convivial PhpMyAdmin, qui est proposé en standard sur la plupart des hôtes web et dans XAMPP.
Si vous avez un site web hébergé avec PHP et MySQL, une base de données aura probablement déjà été créée pour vous, et vous pouvez juste sauter cette partie de la leçon et commencer à créer des tables. À nouveau, consultez les pages d'aide de votre hôte pour plus de renseignements.
Créer une base de données et des tables avec PHP
La fonction mysql_query sert à interroger une base de données MySQL. Les requêtes sont écrites dans le langage SQL (Structured Query Language). SQL est le langage le plus répandu pour l'interrogation des bases de données, pas seulement pour les bases de données MySQL. Dans les deux prochaines leçons, vous apprendrez les principales requêtes SQL.
Pour la création d'une base de données, on utilise la requête SQL CREATE DATABASE selon la syntaxe suivante :
CREATE DATABASE nom_de_la_base_de_données
Logique et facile ! Essayons de la placer dans un script PHP :
mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error());
mysql_query("CREATE DATABASE mydatabase") or die(mysql_error());
mysql_close();
D'abord nous nous sommes connectés au serveur MySQL, ensuite nous avons créé une base de données nommée "mydatabase", enfin nous avons clos la connexion au serveur MySQL.
Jusque là c'est bon… mais les choses se compliquent un peu pour créer des tables dans PHP. Pour créer des tables, nous utilisons la requête SQL CREATE TABLE selon la syntaxe suivante :
CREATE TABLE nom_de_la_table
(
column1_name DATA_TYPE,
column2_name DATA_TYPE,
column3_name DATA_TYPE,
...
)
Les champs nom_de_la_table et columnX_name sont bien entendu les noms respectifs de la table et des colonnes. Les champs DATA_TYPE servent à indiquer le type des données à insérer dans les colonnes. Les types de données les plus courants sont :
- INT
- Pour les nombres sans décimaux
- DECIMAL
- Pour les nombres avec décimaux
- CHAR
- Texte court jusqu'à 255 caractères
- TEXT
- Pour du texte ordinaire jusqu'à 65 535 caractères
- LONGTEXT
- Pour les longs passages de texte jusqu'à 4 294 967 295 caractères
- Date
- Pour les dates au format AAAA-MM-JJ
- Time
- Pour les heures au format HH:MM:SS
- DATETIME
- Pour les dates et heures au format AAAA-MM-JJ HH:MM:SS
L'un dans l'autre, logique et relativement facile. Réunissons cela dans un exemple :
mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error());
mysql_select_db("people") or die(mysql_error());
mysql_query("CREATE TABLE MyTable (
id INT AUTO_INCREMENT,
FirstName CHAR,
LastName CHAR,
Phone INT,
BirthDate DATE
PRIMARY KEY(id)
)") Or die(mysql_error());
mysql_close ();
Dans l'exemple, nous commençons par une connexion au serveur MySQL. Ensuite nous employons la fonction mysql_select_db pour sélectionner la base de données "people". Puis nous créons la table "persons" avec 5 colonnes.
Notez que, à la colonne "id", nous utilisons d'abord INT afin d'indiquer que la colonne contient des nombres, puis nous ajoutons AUTO_INCREMENT afin d'augmenter automatiquement le nombre et s'assurer d'un identificateur unique pour chaque rangée.
À la fin, nous utilisons PRIMARY KEY afin de définir la colonne "id" comme clé primaire. La clé primaire identifie de manière unique chaque enregistrement, ou rangée, dans la table, ce qui s'avèrera très utile lorsque nous mettrons à jour la base de données.
Créer une base de données et des tables avec phpMyAdmin
Il peut être utile de pouvoir créer des bases de données et des tables directement dans PHP. Ce sera souvent plus aisé d'employer phpMyAdmin (ou tout autre outil d'administration MySQL), qui est installé en standard sur la plupart des hôtes web et XAMPP. Les copies d'écran ci-dessous montrent comment créer une base de données et des tables dans phpMyAdmin.
Commencez par vous identifier sur phpMyAdmin. Très souvent, l'adresse sera la même que celle de votre serveur MySQL (par exemple, "http://mysql.myhost.com") avec les mêmes nom d'utilisateur et mot de passe. Dans XAMPP, l'adresse est "http://localhost/phpmyadmin/".
Une fois identifié, saisissez simplement un nom pour la base de données et cliquez le bouton "Créer" (Create) :
Chez certains hébergeurs, il est possible qu'une base de données soit déjà créée, et vous n'aurez pas le droit d'en créer d'autres. Auquel cas, vous n'utiliserez évidemment que la base de données attribuée.
Pour créer une table, cliquez sur l'onglet "Bases de données" (Databases) pour le sélectionner :
Puis vous y trouverez un encadré intitulé "Créer une nouvelle table dans la base de données" (Create new table in database), dans lequel vous saisirez le nom de la table et le nombre de colonnes, et cliquerez le bouton "Créer" (Go) :
Ensuite vous pourrez nommer les colonnes et en indiquer le type de données, etc., comme dans l'exemple SQL précédent.
Remarquez que nous définissons également ici "id" comme clé primaire, PRIMARY KEY, et utilisons AUTO_INCREMENT (A_I).
Vous avez maintenant créé vos propres base de données et table. Dans les leçons suivantes, nous verrons comment insérer, récupérer et supprimer des données dans une base de données.
Aucun commentaire: