MySQLi - Créer des tables
La commande de création de table nécessite -
- Nom de la table
- Noms des champs
- Définitions pour chaque champ
Syntaxe
Voici la syntaxe SQL générique pour créer une table MySQLi -
CREATE TABLE table_name (column_name column_type);
Maintenant, nous allons créer le tableau suivant dans TUTORIALS base de données.
CREATE TABLE tutorials_inf(
id INT AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
primary key (id),
);
Ici, quelques éléments nécessitent une explication -
Attribut de champ NOT NULLest utilisé car nous ne voulons pas que ce champ soit NULL. Donc, si l'utilisateur essaie de créer un enregistrement avec une valeur NULL, MySQLi déclenchera une erreur.
Attribut de champ AUTO_INCREMENT dit à MySQLi de continuer et d'ajouter le prochain numéro disponible dans le champ id.
Mot-clé PRIMARY KEYest utilisé pour définir une colonne comme clé primaire. Vous pouvez utiliser plusieurs colonnes séparées par une virgule pour définir une clé primaire.
Création de tables à partir de l'invite de commande
Il est facile de créer une table MySQLi à partir de l'invite mysql>. Vous utiliserez la commande SQLCREATE TABLE pour créer une table.
Exemple
Voici un exemple, qui crée tutorials_tbl -
root@host# 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 ne termine une commande que lorsque vous donnez un point-virgule (;) à la fin de la commande SQL.
Création de tables à l'aide d'un script PHP
Pour créer une nouvelle table dans une base de données existante, vous devez utiliser la fonction PHP mysqli_query(). Vous passerez son deuxième argument avec la commande SQL appropriée pour créer une table.
Exemple
Voici un exemple pour créer une table en utilisant un 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'exemple de sortie devrait être comme ceci -
Connected successfully
Table created successfully