Créer une base de données MySQL avec PHP

Créer une base de données

Pour créer et supprimer une base de données, vous devez disposer des privilèges d'administrateur. Il est très facile de créer une nouvelle base de données MySQL. Utilise PHPmysql_queryfonction pour créer une base de données MySQL. Cette fonction prend deux paramètres et retourne TRUE en cas de succès ou FALSE en cas d'échec.

Syntaxe

bool mysql_query( sql, connection );

Sr.Non Paramètre et description
1

sql

Obligatoire - Requête SQL pour créer une base de données

2

connection

Facultatif - si non spécifié, la dernière connexion ouverte par mysql_connect sera utilisée.

Exemple

Essayez l'exemple suivant pour créer une base de données -

<?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';
   
   $sql = 'CREATE Database test_db';
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create database: ' . mysql_error());
   }
   
   echo "Database test_db created successfully\n";
   mysql_close($conn);
?>

Sélection d'une base de données

Une fois que vous avez établi une connexion avec un serveur de base de données, il est nécessaire de sélectionner une base de données particulière à laquelle toutes vos tables sont associées.

Cela est nécessaire car plusieurs bases de données peuvent résider sur un même serveur et vous pouvez travailler avec une seule base de données à la fois.

PHP fournit la fonction mysql_select_db pour sélectionner une base de données.Il renvoie TRUE en cas de succès ou FALSE en cas d'échec.

Syntaxe

bool mysql_select_db( db_name, connection );

Sr.Non Paramètre et description
1

db_name

Obligatoire - Nom de la base de données à sélectionner

2

connection

Facultatif - si non spécifié, la dernière connexion ouverte par mysql_connect sera utilisée.

Exemple

Voici l'exemple vous montrant comment sélectionner une base de données.

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'guest';
   $dbpass = 'guest123';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) { 
      die('Could not connect: ' . mysql_error());
   }
   
   echo 'Connected successfully';
   
   mysql_select_db( 'test_db' );
   mysql_close($conn);
   
?>

Création de tables de base de données

Pour créer des tables dans la nouvelle base de données, vous devez faire la même chose que la création de la base de données. Créez d'abord la requête SQL pour créer les tables, puis exécutez la requête en utilisant la fonction mysql_query ().

Exemple

Essayez l'exemple suivant pour créer une table -

<?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';
   
   $sql = 'CREATE TABLE employee( '.
      'emp_id INT NOT NULL AUTO_INCREMENT, '.
      'emp_name VARCHAR(20) NOT NULL, '.
      'emp_address  VARCHAR(20) NOT NULL, '.
      'emp_salary   INT NOT NULL, '.
      'join_date    timestamp(14) NOT NULL, '.
      'primary key ( emp_id ))';
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create table: ' . mysql_error());
   }
   
   echo "Table employee created successfully\n";
   
   mysql_close($conn);
?>

Au cas où vous auriez besoin de créer de nombreuses tables, il est préférable de créer d'abord un fichier texte et de placer toutes les commandes SQL dans ce fichier texte, puis de charger ce fichier dans la variable $ sql et d'exécuter ces commandes.

Considérez le contenu suivant dans le fichier sql_query.txt

CREATE TABLE employee(
   emp_id INT NOT NULL AUTO_INCREMENT,
   emp_name VARCHAR(20) NOT NULL,
   emp_address  VARCHAR(20) NOT NULL,
   emp_salary   INT NOT NULL,
   join_date    timestamp(14) NOT NULL,
   primary key ( emp_id ));

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
   
   $query_file = 'sql_query.txt';
   
   $fp = fopen($query_file, 'r');
   $sql = fread($fp, filesize($query_file));
   fclose($fp); 
   
   mysql_select_db('test_db');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not create table: ' . mysql_error());
   }
   
   echo "Table employee created successfully\n";
   mysql_close($conn);
?>