Création des tables en SQL Le SQL (Structured Query Langage) est un langage de
Création des tables en SQL Le SQL (Structured Query Langage) est un langage de requêtes qui nous permet de faire des interrogations (les requêtes) sur un SGBD (Système de Gestion de Base de Données). Nous venons de faire une petite introduction sur les bases de données, et maintenant, nous allons voir en détail comment utiliser le SQL pour developper cette base de données. Tout le code donné dans ce tutorial ne peut être interprété que par votre SGBD. Ce code ne pourra pas être inclus dans vos pages PHP. En effet, vous devrez utiliser ce code dans votre PHPMyAdmin par exemple. Reprenons l'exemple précédent, et on observe comment faire pour créer nos deux tables. Créons tout d'abord la table liste_proprietaire : table_liste_proprietaire.sql 1. CREATE TABLE liste_proprietaire ( 2. numero INT(5) NOT NULL, 3. nom VARCHAR(20) NOT NULL, 4. telephone VARCHAR(14) NOT NULL 5. ) TYPE=MyISAM; Nous venons ici de créer notre table liste_proprietaire, table contenant trois attributs : numero qui correspond à un nombre entier (INT) de 5 chiffre nom qui correspond à une suite de caractères (VARCHAR) de 20 caractères telephone qui correspond à une suite de caractères (VARCHAR) de 14 caractères Nous utilisons VARCHAR pour des chaînes de caractères pouvant mêler du texte et des nombres. Toutefois, à la fin de ce tutorial, nous allons passer en revue tous les types d'attributs possibles. De plus, pour chacun de ces attributs, nous imposons que pour chaque tuple donné, aucun attribut ne peut être vide (on a mis un NOT NULL pour tous les attributs). Enfin, le type MyISAM précise que nous avons affaire à une base de données de type MySQL. Créons ensuite la table liste_disque : table_liste_disque.sql 1. CREATE TABLE liste_disque ( 2. numero INT(5) NOT NULL, 3. auteur VARCHAR(50) NOT NULL, 4. titre VARCHAR(50) NOT NULL 5. ) TYPE=MyISAM; Vu que les attributs ressemblent beaucoup à la première table, nous ne ferons aucun commentaire sur cette table. En revanche, nous aurions pu utiliser l'extra AUTO_INCREMENT pour les attributs numero de la table liste_proprietaire. En effet, si on imagine la page WEB nous permettant d'insérer des membres dans la liste des propriétaires, on s'imagine mal qu'il faille préciser a chaque fois le numéro du nouveau propriétaire. Afin de palier à ce léger désagrément, nous allons applique un extra à l'attribut de la première table, nous permettant de faire en fait une incrémentation automatique à chaque insertion d'un nouveau propriétaire. On aura alors la table liste_proprietaire définit comme ceci : table liste_proprietaire.sql 1. CREATE TABLE liste_proprietaire ( 2. numero INT(5) NOT NULL AUTO_INCREMENT, 3. nom VARCHAR(20) NOT NULL, 4. telephone VARCHAR(14) NOT NULL, 5. PRIMARY KEY (numero) 6. ) TYPE=MyISAM; Remarquons alors la ligne PRIMARY KEY (numero) qui nous indique que la clé primaire de notre table est l'attribut numero. Ceci veut dire que l'on est capable d'identifier n'importe quel tuple de la table rien qu'à partir de l'attribut numero. Passons maintenant en revue l'intégralité des types possibles pour les attributs d'une table SQL. On a alors : TINYINT : entier de 0 à 255 (non signé) SMALLINT : entier de 0 à 65 535 (non signé) MEDIUMINT : entier de 0 à 16 777 215 (non signé) INT : entier de 0 à 4 294 967 295 (non signé) BIGINT : entier de 0 à 18 446 744 073 709 551 615 (non signé) DECIMAL : un nombre à virgule flottante (soit un nombre réel) DATE : une date allant du 1000-01-01 au 9999-12-31 DATETIME : une date comportant une heure allant du 1000-01-01 00:00:00 au 9999-12-31 23:59:59 TIMESTAMP : une date comportant une heure exprimée en secondes depuis le 1er janvier 1970 jusqu'à l'instant présent TIME : une mesure de l'heure qui va de -838:59:59 à 838:59:59 YEAR : une année qui va de 1901 à 2155 CHAR : une chaîne de caractères de taille fixée (de 1 à 255 caractères) VARCHAR : une chaîne de caractères de taille variable (de 1 à 255 caractères) TINYTEXT ou TINYBLOB : un objet BLOB ou TEXT ayant une longueur maximale de 255 caractères TEXT ou BLOB : un objet BLOB ou TEXT ayant une longueur maximale de 65 535 caractères MEDIUMTEXT ou MEDIUMBLOB : un objet BLOB ou TEXT ayant une longueur maximale de 16 777 215 caractères LONGTEXT ou LONGBLOB : un objet BLOB ou TEXT ayant une longueur maximale de 4 294 967 295 caractères Attention !!! Il est tout de fois possible de créer des tables directement à partir d'une page en PHP. Dans ce cas, pour créer les tables, il n'est absolument pas nécessaire de passer par votre PHPMyAdmin, chose que je déconseille fortement pour les débutants. En clair, au début, utiliser PHPMyAdmin pour créer vos tables, puis, une fois que vous aurez bien compris le principe, vous pourrez alors créer vos tables directement à partir de vos scripts (ce qui est tout de même déconseillé). Fonctions PHP pour MySQL Nous venons de voir comment créer nos tables SQL à l'aide d'un PHPMyAdmin (par exemple). Avant de voir comment faire pour insérer, modifier, supprimer et afficher des tuples de notre base de données, il est bon de connaître les fonctions PHP permettant de manoeuvrer ces tuples. Ce tutorial est un peu comme une documentation, afin que les tutoriaux suivants ne ressortent pas à vos yeux comme des choses provenant de Mars ou de Jupiter. Il faut déjà savoir que les fonctions PHP pour MySQL commence toujours par mysql_ ce qui est plutôt bien pensé, non ? Voici donc la liste de ces fonctions (nous étudierons que les principales, regardez la documentation pour de plus amples connaissances) : Fonction Signification mysql_close Ferme la connexion à une base de données mysql_connect Etablit une connexion vers la base de données spécifiée dans les arguments mysql_error Retourne la description textuelle d'une erreur générée par une action sur une base de données mysql_fetch_array Retourne un tableau qui représente tous les tuples sélectionnés (un indice du tableau correspond à un attribut des tuples obtenus). Chaque appel récupère le tuple suivant jusqu'à ce qu'il n'y en ait plus mysql_free_result Libère la mémoire associé à la requête spécifiée mysql_num_rows Retourne le nombre de tuple dans un résultat mysql_query Permet d'exécuter une requête SQL sur une base de données mysql_select_db Sélectionne la base de données par défaut Voyons maintenant comment faire pour se connecter à une base de données. En effet, afin de pouvoir utiliser tous les éléments contenus dans une base de données, vous devez indiquer, sur toutes vos pages PHP où vous utilisez votre base, différents paramètres de connexion à votre base. Etudions le code suivant : exemple1.php 1. <?php 2. $base = mysql_connect ('mon_serveur', 'login', 'password'); 3. mysql_select_db ('ma_base_de_donnees', $base) ; 4. ?> La chaîne de caractères mon_serveur doit être remplacé par celle qui correspond au nom de votre serveur (en règle générale, il s'agit de localhost ; si ce n'est pas le cas, veuillez contacter votre hébergeur pour de plus amples informations). login correspond à votre login pour accéder à votre base. password, votre mot de passe. Et ma_base_de_donnees correspond au nom de votre base de données. Grâce à ce code nous allons donc pouvoir effectuer toutes nos requêtes SQL sur les tables de notre base de données fraîchement créée. Attention !!! Ce code doit toujours être présent avant toute opération sur votre base de données (une seule fois par page suffit par contre). Mon conseil : faites vous un fichier connect_base.php.inc ou apparaîtra seulement ce morceau de code, et dans chaque page ou vous souhaitez utiliser votre base de données, vous n'aurez alors qu'à include() ce fichier de connexion. uploads/Geographie/ creation-des-tables-en-sql.pdf
Documents similaires
-
32
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 02, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 0.0889MB