MySQLi - Crea tabelle

Il comando di creazione della tabella richiede:

  • Nome della tabella
  • Nomi dei campi
  • Definizioni per ogni campo

Sintassi

Ecco la sintassi SQL generica per creare una tabella MySQLi:

CREATE TABLE table_name (column_name column_type);

Ora creeremo la seguente tabella in TUTORIALS Banca dati.

CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,
   name VARCHAR(20) NOT NULL,
   primary key (id),
);

Qui alcuni elementi richiedono una spiegazione -

  • Attributo di campo NOT NULLviene utilizzato perché non vogliamo che questo campo sia NULL. Quindi, se l'utente proverà a creare un record con valore NULL, MySQLi genererà un errore.

  • Attributo di campo AUTO_INCREMENT dice a MySQLi di andare avanti e di aggiungere il prossimo numero disponibile al campo id.

  • Parola chiave PRIMARY KEYviene utilizzato per definire una colonna come chiave primaria. È possibile utilizzare più colonne separate da virgola per definire una chiave primaria.

Creazione di tabelle dal prompt dei comandi

È facile creare una tabella MySQLi da mysql> prompt. Userai il comando SQLCREATE TABLE per creare una tabella.

Esempio

Ecco un esempio, che crea tutorials_tbl -

[email protected]# mysql -u root -p
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id));
Query OK, 0 rows affected (0.16 sec)

mysql>

NOTE - MySQLi non termina un comando fino a quando non inserisci un punto e virgola (;) alla fine del comando SQL.

Creazione di tabelle utilizzando script PHP

Per creare una nuova tabella in qualsiasi database esistente è necessario utilizzare la funzione PHP mysqli_query(). Passerai il suo secondo argomento con il comando SQL appropriato per creare una tabella.

Esempio

Ecco un esempio per creare una tabella utilizzando lo script PHP:

<html>
   <head>
      <title>Creating MySQLi Tables</title>
   </head>
   
   <body>
      <?php  
         $host = 'localhost:3306';  
         $user = 'root';  
         $pass = '<Password Here>';  
         $dbname = 'TUTORIALS';  
         $conn = mysqli_connect($host, $user, $pass,$dbname);  
         
         if(!$conn){  
            die('Could not connect: '.mysqli_connect_error());  
         }  
         echo 'Connected successfully<br/>';  
  
         $sql = "create table tutorials_inf(
            id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id))";  
         
         if(mysqli_query($conn, $sql)){  
         echo "Table created successfully";  
         } else {  
            echo "Table is not created successfully ";  
         }  
         mysqli_close($conn);  
      ?>  
   </body>
</html>

L'output di esempio dovrebbe essere così:

Connected successfully
Table created successfully