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