Crea database MySQL usando PHP

Creazione di un database

Per creare ed eliminare un database è necessario disporre dei privilegi di amministratore. È molto facile creare un nuovo database MySQL. PHP utilizzamysql_queryfunzione per creare un database MySQL. Questa funzione accetta due parametri e restituisce TRUE in caso di successo o FALSE in caso di fallimento.

Sintassi

bool mysql_query( sql, connection );

Suor n Parametro e descrizione
1

sql

Obbligatorio: query SQL per creare un database

2

connection

Opzionale: se non specificato, verrà utilizzata l'ultima connessione aperta da mysql_connect.

Esempio

Prova il seguente esempio per creare un database:

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

Selezione di un database

Una volta stabilita una connessione con un server di database, è necessario selezionare un database particolare a cui sono associate tutte le tabelle.

Ciò è necessario perché potrebbero esserci più database che risiedono su un singolo server e puoi lavorare con un singolo database alla volta.

PHP fornisce la funzione mysql_select_db per selezionare un database. Restituisce TRUE in caso di successo o FALSE in caso di fallimento.

Sintassi

bool mysql_select_db( db_name, connection );

Suor n Parametro e descrizione
1

db_name

Obbligatorio: selezionare il nome del database

2

connection

Opzionale: se non specificato, verrà utilizzata l'ultima connessione aperta da mysql_connect.

Esempio

Ecco l'esempio che mostra come selezionare un database.

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

Creazione di tabelle di database

Per creare tabelle nel nuovo database è necessario eseguire la stessa operazione della creazione del database. Prima crea la query SQL per creare le tabelle, quindi esegui la query utilizzando la funzione mysql_query ().

Esempio

Prova il seguente esempio per creare una tabella:

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

Nel caso in cui sia necessario creare molte tabelle, è meglio creare prima un file di testo e inserire tutti i comandi SQL in quel file di testo, quindi caricare quel file nella variabile $ sql ed eseguire quei comandi.

Considera il seguente contenuto nel file 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);
?>