Leçon 18 : 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 documentationmysql_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 documentationCREATE 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 :

documentationINT
Pour les nombres sans décimaux
documentationDECIMAL
Pour les nombres avec décimaux
documentationCHAR
Texte court jusqu'à 255 caractères
documentationTEXT
Pour du texte ordinaire jusqu'à 65 535 caractères
documentationLONGTEXT
Pour les longs passages de texte jusqu'à 4 294 967 295 caractères
documentationDate
Pour les dates au format AAAA-MM-JJ
documentationTime
Pour les heures au format HH:MM:SS
documentationDATETIME
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 documentationmysql_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 documentationINT afin d'indiquer que la colonne contient des nombres, puis nous ajoutons documentationAUTO_INCREMENT afin d'augmenter automatiquement le nombre et s'assurer d'un identificateur unique pour chaque rangée.

À la fin, nous utilisons documentationPRIMARY 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) :

phpMyAdmin

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 :

phpMyAdmin

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) :

phpMyAdmin

Ensuite vous pourrez nommer les colonnes et en indiquer le type de données, etc., comme dans l'exemple SQL précédent.

phpMyAdmin

Remarquez que nous définissons également ici "id" comme clé primaire, documentationPRIMARY KEY, et utilisons documentationAUTO_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.



<< Leçon 17 : Les bases de données

Leçon 19 : Insérer des données dans une base de données >>