Créer des tables MySQL

Pour commencer, la commande de création de table nécessite les détails suivants -

  • Nom de la table
  • Nom des champs
  • Définitions pour chaque champ

Syntaxe

Voici une syntaxe SQL générique pour créer une table MySQL -

CREATE TABLE table_name (column_name column_type);

Maintenant, nous allons créer le tableau suivant dans le TUTORIALS base de données.

create table tutorials_tbl(
   tutorial_id INT NOT NULL AUTO_INCREMENT,
   tutorial_title VARCHAR(100) NOT NULL,
   tutorial_author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( tutorial_id )
);

Ici, quelques éléments doivent être expliqués -

  • Attribut de champ NOT NULLest utilisé car nous ne voulons pas que ce champ soit NULL. Donc, si un utilisateur essaie de créer un enregistrement avec une valeur NULL, MySQL lèvera une erreur.

  • Attribut de champ AUTO_INCREMENT dit à MySQL de continuer et d'ajouter le prochain numéro disponible dans le champ id.

  • Mot-clé PRIMARY KEYest utilisé pour définir une colonne comme clé primaire. Vous pouvez utiliser plusieurs colonnes séparées par une virgule pour définir une clé primaire.

Création de tables à partir de l'invite de commande

Il est facile de créer une table MySQL à partir de l'invite mysql>. Vous utiliserez la commande SQLCREATE TABLE pour créer une table.

Exemple

Voici un exemple qui créera tutorials_tbl -

root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
   -> tutorial_id INT NOT NULL AUTO_INCREMENT,
   -> tutorial_title VARCHAR(100) NOT NULL,
   -> tutorial_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( tutorial_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
mysql>

NOTE - MySQL ne termine pas une commande tant que vous n'avez pas donné un point-virgule (;) à la fin de la commande SQL.

Création de tables à l'aide d'un script PHP

Pour créer une nouvelle table dans une base de données existante, vous devez utiliser la fonction PHP mysql_query(). Vous passerez son deuxième argument avec une commande SQL appropriée pour créer une table.

Exemple

Le programme suivant est un exemple pour créer une table à l'aide d'un script PHP -

<html>
   <head>
      <title>Creating MySQL Tables</title>
   </head>
   
   <body>
      <?php
         $dbhost = 'localhost:3036';
         $dbuser = 'root';
         $dbpass = 'rootpassword';
         $conn = mysql_connect($dbhost, $dbuser, $dbpass);
         
         if(! $conn ) {
            die('Could not connect: ' . mysql_error());
         }
         echo 'Connected successfully<br />';
         $sql = "CREATE TABLE tutorials_tbl( ".
            "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
            "tutorial_title VARCHAR(100) NOT NULL, ".
            "tutorial_author VARCHAR(40) NOT NULL, ".
            "submission_date DATE, ".
            "PRIMARY KEY ( tutorial_id )); ";
         mysql_select_db( 'TUTORIALS' );
         $retval = mysql_query( $sql, $conn );
         
         if(! $retval ) {
            die('Could not create table: ' . mysql_error());
         }
         echo "Table created successfully\n";
         mysql_close($conn);
      ?>
   </body>
</html>