Tayo
Astuce et Tutorial » Programmation / Developpement » Php Mysql » tutoriel rédigé par Zabuza
Description de cet article : Comment faire pour Créer une Table Mysql
Lire les commentaires

[center][b][size=18][police=Arial, Helvetica, sans-serif]
[color=#0099FF]Créer une table mysql[/color][/police][/size]
[/b][/center]

[u]Sommaire : [/u]
[url=#lesbasesdelacreationdetable]1-Les bases de la création d'une table Mysql[/url]
[url=#unpeuplus]2- En savoir un peu plus pour la création d'une table Mysql[/url]


[color=red][u]But :[/u][/color] Voici comment créer une table mysql dans sa base de donnée. Comme dans d'autres tutoriels, les scripts seront donnés en version Mysql et php (du pareil au même en somme).


[police=Verdana][color=orange][u]Rappel :[/u][/color][/police] C'est quoi Une table Mysql :
Déjà, il convient de bien comprendre qu'une table mysql s'intègre dans une base de donnée et que théoriquement il est possible d'avoir un nombre infini de table mysql dans une base de donnée.
Pour schématiser en comparant à Windows (système de fichier), il pourrait être définit qu'une table de donnée Mysql c'est un fichier (précis et complet, tel un .ini) et qu'une base de donnée c'est un dossier (configurable). En outre, des 'Champ' sont présents qui correspondent à des valeurs. Par exemple un Champ 'Nom', pourrait contenir 'Martin'. Ces champs composent intégralement les tables. Table, ou 'tableau', avec ses colonnes et lignes.


[table]
[ligne]
[colonne] [img]http://staloa.free.fr/images/creer-une-table-mysql-champ.JPG[/img] [/colonne]
[/ligne]
[ligne]
[colonne] Voici à quoi pourrait ressembler une table mysql comportant comme champ 'ID' et 'login' [/colonne]
[/ligne]
[/table]

[#=lesbasesdelacreationdetable][/#]

[u][alinea][/alinea][police=System][size=18][color=red]1- Les bases de la création d'une table Mysql.[/color][/size][/police][/u]

Tout d'abord, ne pas oublier comment supprimer une table mysql : "DROP TABLE nom". Bravo ! Vous savez supprimer une table mysql (youpi). Mais avant ça, il faut la créer.

Pour créer une table mysql il convient de respecter certaines syntaxes. propre à mysql.
Commencer par (EN MAJUSCULES!) :
"CREATE TABLE "
Indiquer ensuite le nom de cette table. Avant d'entrer n'importe quoi, un [fond=green]conseil[/fond] qui pourrait s'avérer utile : Mysql est sensible à la casse, c'est à dire qu'il interprète différemment un J et un j (majuscules et minuscules). Intégrer des espaces dans les noms de champs ou de tables n'est pas une bonne idée.
Pour toujours se repérer chaque nom devrait être en minuscule intégralement. (ou intégralement en majuscule). Certains préfèreront encore intégrer systématiquement une majuscule à la première lettre. Il en va de même pour les choix de pluriel. (s à la fin ou pas?)
Bref, l'essentiel est de se fixer une règle et de s'y tenir, cela évite des erreurs idiotes.

Donc Pour créer une table mysql il suffit d'indiquer [b]"[fond=cyan]CREATE TABLE livre[/fond]"[/b], en partant du principe que livre sera son nom.
Maintenant, c'est un peu con-con de créer une table sans mettre de champs... (Pour en revenir à la comparaison plus haut, c'est comme créer un fichier vide).
Imaginons que nous souhaitons intégrer un champ 'Auteur' qui ne pourra comporter que 100 caractères au maximum.
Pour cela :
[color=cyan]CREATE TABLE livre (
auteur char(100) NOT NULL
);[/color]
[code=php][/code]

[fond=green][police=Comic Sans MS][i]Explication :[/i][/police][/fond]
Cette requête mysql, très simple, créera une table livre qui contiendra comme champ 'auteur' avec un maximum de 100 caractères, caractérisé par le char(100). A côté est présent une valeur facultative 'NOT NULL'. Ceci indique à Mysql qu'une nouvelle ligne doit OBLIGATOIREMENT comporter quelque chose (un auteur ici). 'NULL' en langage de programmation, c'est généralement équivalent à 'rien'.

Maintenant, pour [b]ajouter[/b] d'autres paramètres (donc, d'autres champs) il est possible de le faire en rajoutant une [b], virgule[/b] que mysql interprétera comme une suite.

Ainsi, souhaitons ajouter une partie 'titre'. qui contiendra un maximum de 205 caractères.
[color=cyan]CREATE TABLE livre (
auteur char(100) NOT NULL,
titre char(205)
);[/color]
[code=php][/code]
Il est possible de noter qu'ici, le champ 'titre' pourra être vide. Cela ne va pas révolutionner le monde, mais quand même.

char(x) n'est pas la seule commande possible (encore heureux c'est limité à 255 caractères maximum). Pour intégrer une description avec un nombre infini de caractères, il convient d'utiliser l'attribut 'text'.

[color=cyan]CREATE TABLE livre (
auteur char(100) NOT NULL,
titre char(205),
description text
);[/color]
[code=php][/code]
Il est possible de noter qu'ici, le champ 'titre' pourra être vide. Cela ne va pas révolutionner le monde, mais quand même.

char(x) n'est pas la seule commande possible (encore heureux c'est limité à 255 caractères maximum). Pour intégrer une description avec un nombre infini de caractères, il convient d'utiliser l'attribut 'text'.
[#=unpeuplus][/#]

[u][alinea][/alinea][police=System][size=18][color=red]2- Un peu plus...[/color][/size][/police][/u]

Bien que fonctionnelle, notre table livre devrait / pourrait comporter quelques attributs supplémentaires. Déjà, il faurait un peu l'optimiser grâce à l'attribut index. Utilisons la définition d'un index mysql donnée par le site officiel :

[quote]Les [b]index[/b] sont utilisés pour trouver des lignes de résultat avec une valeur spécifique, très rapidement. Sans index, MySQL doit lire successivement toutes les lignes, et à chaque fois, faire les comparaisons nécessaires pour extraire un résultat pertinent[/quote]
Donc, utiliser un index est indispensable ! (enfin presque).
Pour en créer un en même temps que notre table :


[color=cyan]CREATE TABLE livre (
auteur char(100) NOT NULL,
titre char(205),
description text,
INDEX ( auteur );
)[/color]
[code=php][/code]
[fond=green][police=Comic Sans MS][i]Explication :[/i][/police][/fond]
Comme toujours, une petite virgule, et un rajout de INDEX ( auteur).

Naturellement, Mysql permet d'ajouter des dizaines de paramètres au lieu de char(x) et text. En voici quelques un mis en exemple et commentés :



[table]
[ligne]
[colonne] [color=red]Nom du champ [/color] [/colonne]
[colonne] [color=red]Ligne complète [/color] [/colonne]
[colonne] [color=red]Explication [/color] [/colonne]
[/ligne]
[ligne]
[colonne] id [/colonne]
[colonne] id int NOT NULL auto_increment PRIMARY KEY [/colonne]
[colonne] Il s'agit de deux paramètres en même temps. L'équivalent de notre char(x) est ici PRIMARY KEY (un nombre naturel, donc 1,2,3...) auto_increment signifie simplement que lors d'un ajout de valeur dans une table mysql, id augmentera de 1. En clair, et en français, si votre dernier id est 4, il prendra comme id 5, et cela même si l'id 4 a été supprimé. [/colonne]
[/ligne]
[ligne]
[colonne] date [/colonne]
[colonne] DATETIME [/colonne]
[colonne] Il s'agit donc d'une date. Pour l'insertion de donnée, il convient d'utiliser le format Y-m-d H:i:s donc par exemple 2008-1-30 21:15:45 [/colonne]
[/ligne]
[colonne] numero [/colonne]
[colonne] INT( x ) [/colonne]
[colonne] Un nombre contenant x chiffres [/colonne]
[/ligne]
[/ligne]
[/table]
Naturellement, il existe quelques autres paramètres (binary pour ne citer que celui-ci).

Le choix de l'engine (comment mysql enregistre/lit dans vos tables) est également important. Comme toujours, pour le choisir, utiliser une virgule.

[color=cyan]CREATE TABLE livre (
auteur char(100) NOT NULL,
titre char(205),
description text,
INDEX ( auteur ),
ENGINE = MYISAM;
)[/color]
[code=php][/code]
MYISAM est interessant si vous souhaitez utiliser les fonctions avancées du fulltext de mysql... (mais c'est une autre histoire). [alinea]


[i]

Si une erreur a été commise, merci de l'indiquer dans les commentaires ;) [/i]

réduireNews
réduireTutoriel lié
  • Créer un utilisateur Mysql
    Créer un utilisateur mysql et sa base de donnée
  • Column count doesn't match value count at row ..
    Description de l'erreur mysql Column count doesn't match value count at row 1
  • Créer un mot de passe root mysql
    Indispensable , même sur Wamp ou easyphp.
  • Créer une table Mysql
    Comment faire pour Créer une Table Mysql
  • Dans la même catégorie : Php Mysql

    Quand Wamp vous affiche que des messages Forbidden

    Passer l'activation de Windows 7 temporairement avec invite de commande
    réduireSocial

    rss 3D png rss 3D png


    Pseudo :
    Pass :
    Les lecteurs ont donné une note moyenne de :
    note 9
    Note: 9 sur 10

    Donnez votre note à ce tuto sur 10 :

    Script pour charger une publicité une fois que la page web est en place

    Comment changer du texte dans toute une base de donnée mysql

    Quand Wamp vous affiche que des messages Forbidden

    Liste des commentaires pour Créer une table Mysql °° Tutoriel


    Votre PseudoIl y a 0mn
    Votre commentaire forum
    Vous avez la parole
    Laissez un commentaire sur cet article.
    Pseudo :


    Facultatif : Cliquez ici pour choisir une tête
    Votre email ( non publié ) :

    Image anti spam :
    Code Image
    Recopier les 5 chiffres de cette image :






    Prendre contact avec Tayo.fr : Formulaire Tayo

    Tayo.fr, copyright jusqu'en 2233 ( Au moins ! ).