Crear una base de datos MySQL usando PHP

Crear una base de datos

Para crear y eliminar una base de datos, debe tener privilegios de administrador. Es muy fácil crear una nueva base de datos MySQL. Usos de PHPmysql_queryfunción para crear una base de datos MySQL. Esta función toma dos parámetros y devuelve VERDADERO en caso de éxito o FALSO en caso de error.

Sintaxis

bool mysql_query( sql, connection );

No Señor Descripción de parámetros
1

sql

Requerido: consulta SQL para crear una base de datos

2

connection

Opcional: si no se especifica, se utilizará la última conexión abierta de mysql_connect.

Ejemplo

Pruebe el siguiente ejemplo para crear una base de datos:

<?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);
?>

Seleccionar una base de datos

Una vez que establece una conexión con un servidor de base de datos, es necesario seleccionar una base de datos en particular donde todas las tablas están asociadas.

Esto es necesario porque puede haber varias bases de datos que residen en un solo servidor y puede trabajar con una sola base de datos a la vez.

PHP proporciona función mysql_select_db para seleccionar una base de datos. Devuelve VERDADERO en caso de éxito o FALSO en caso de error.

Sintaxis

bool mysql_select_db( db_name, connection );

No Señor Descripción de parámetros
1

db_name

Obligatorio: se seleccionará el nombre de la base de datos

2

connection

Opcional: si no se especifica, se utilizará la última conexión abierta de mysql_connect.

Ejemplo

Aquí está el ejemplo que le muestra cómo seleccionar una base de datos.

<?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);
   
?>

Crear tablas de base de datos

Para crear tablas en la nueva base de datos, debe hacer lo mismo que crear la base de datos. Primero cree la consulta SQL para crear las tablas y luego ejecute la consulta usando la función mysql_query ().

Ejemplo

Pruebe el siguiente ejemplo para crear una tabla:

<?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);
?>

En caso de que necesite crear muchas tablas, entonces es mejor crear un archivo de texto primero y poner todos los comandos SQL en ese archivo de texto y luego cargar ese archivo en la variable $ sql y ejecutar esos comandos.

Considere el siguiente contenido en el archivo 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);
?>