PHP crée une table MySQL

PHP crée une table MySQL

Une table de données a un nom unique et se compose de lignes et de colonnes.

Création d'une table MySQL à l'aide de MySQLi et PDO

L'instruction CREATE TABLE est utilisée pour créer une table MySQL.

CREATE TABLE tbl_name (col_name column_definition);

La création d'une table doit avoir au moins une définition de champ. Utilisez des espaces pour séparer les noms et les types de champs, et utilisez des virgules pour séparer plusieurs champs

.

Une fois la base de données créée, nous pouvons exécuter l'instruction suivante pour obtenir l'instruction de création de table

SHOW CREATE TABLE tbl_name;

ou exécuter l'instruction suivante pour imprimer la structure de la table

DESC tbl_name;

CREATE TABLE my_tbl (
age INT,
name VARCHAR(100)
);

L'instruction ci-dessus crée une table nommée my_tbl Table, la table a deux champs, l'un est nommé age (age), le type enregistré est entier, l'autre champ est nommé name (name), le type est une chaîne d'une longueur maximale de 100 caractères

Veuillez utiliser SHOW ou DESC pour afficher l'instruction de création de table ou la structure de la table

Nous allons créer une table nommée "MyGuests" avec 5 colonnes : "id", "firstname", "lastname", "email" et "reg_date":

CREATE TABLE MyGuests (
 id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
 firstname VARCHAR(30) NOT NULL,
 lastname VARCHAR(30) NOT NULL,
 email VARCHAR(50),
 reg_date TIMESTAMP
 )

Notes du tableau ci-dessus :

Le type de données spécifie le type de données que la colonne peut stocker. Pour connaître les types de données complets, veuillez vous référer à notre manuel de référence des types de données.

Après avoir défini le type de données, vous pouvez spécifier les attributs d'autres options pour chaque colonne : Non autorisé.

·                                                                                                                                                                                                                            Il augmentera automatiquement de 1 à chaque fois enregistrement. Généralement, la PRIMARY KEY de la colonne est définie sur la valeur ID, utilisée avec AUTO_INCREMENT.

Chaque table doit avoir une clé primaire (cette colonne est la colonne "id"), et la clé primaire doit contenir une valeur unique.

L'exemple suivant montre comment créer une table en PHP :

Exemple (MySQLi - orienté objet)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 $dbname = "myDB";
 
 // 创建连接
 $conn = new mysqli($servername, $username, $password, $dbname);
 // 检测连接
 if ($conn->connect_error) {
     die("连接失败: " . $conn->connect_error);
 } 
 
 // 使用 sql 创建数据表
 $sql = "CREATE TABLE MyGuests (
 id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
 firstname VARCHAR(30) NOT NULL,
 lastname VARCHAR(30) NOT NULL,
 email VARCHAR(50),
 reg_date TIMESTAMP
 )";
 
 if ($conn->query($sql) === TRUE) {
     echo "Table MyGuests created successfully";
 } else {
     echo "创建数据表错误: " . $conn->error;
 }
 
 $conn->close();
 ?>

Exemple (MySQLi - procédural)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 $dbname = "myDB";
 
 // 创建连接
 $conn = mysqli_connect($servername, $username, $password, $dbname);
 // 检测连接
 if (!$conn) {
     die("连接失败: " . mysqli_connect_error());
 }
 
 // 使用 sql 创建数据表
 $sql = "CREATE TABLE MyGuests (
 id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
 firstname VARCHAR(30) NOT NULL,
 lastname VARCHAR(30) NOT NULL,
 email VARCHAR(50),
 reg_date TIMESTAMP
 )";
 
 if (mysqli_query($conn, $sql)) {
     echo "数据表 MyGuests 创建成功";
 } else {
     echo "创建数据表错误: " . mysqli_error($conn);
 }
 
 mysqli_close($conn);
 ?>

Instance (PDO)

<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 $dbname = "myDBPDO";
 try {
     $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
     // 设置 PDO 错误模式,用于抛出异常
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
     // 使用 sql 创建数据表
     $sql = "CREATE TABLE MyGuests (
     id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
     firstname VARCHAR(30) NOT NULL,
     lastname VARCHAR(30) NOT NULL,
     email VARCHAR(50),
     reg_date TIMESTAMP
     )";
 
     // 使用 exec() ,没有结果返回 
     $conn->exec($sql);
     echo "数据表 MyGuests 创建成功";
 }
 catch(PDOException $e)
 {
     echo $sql . "<br>" . $e->getMessage();
 }
 $conn = null;
 ?>

Au fait, d'autres opérations liées aux tables :

Supprimer la table :

DROP TABLE tbl_name;

Modifier le nom de la table :

ALTER TABLE tbl_name RENAME new_tbl_name ;

Ajouter des champs :

ALTER TABLE tbl_name ADD col_name column_definition ;

Champs ajoutés La valeur par défaut est la dernière colonne à la fin de toutes les colonnes. Si vous souhaitez la remplacer par la première colonne, vous pouvez l'écrire comme suit

ALTER TABLE tbl_name ADD col_name column_definition FIRST;

Si vous souhaitez spécifier un emplacement spécifique, vous pouvez l'écrire comme suit

ALTER TABLE tbl_name ADD col_name column_definition AFTER other_col_name;

Supprimer les champs :

ALTER TABLE tbl_name DROP col_name;

Modifier les attributs des champs :

ALTER TABLE tbl_name MODIFY col_name column_definition;

Modifier les noms et attributs des champs :

ALTER TABLE tbl_name CHANGE col_name_from col_name_to column_definition;

modify ne peut modifier que la définition du champ, tandis que change peut modifier le nom du champ


Formation continue
||
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // 创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); // 检测连接 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } // 使用 sql 创建数据表 $sql = "CREATE TABLE MyGuests ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP )"; if (mysqli_query($conn, $sql)) { echo "数据表 MyGuests 创建成功"; } else { echo "创建数据表错误: " . mysqli_error($conn); } mysqli_close($conn); ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!