English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Insertion de données MySQL

MySQL 表中使用 INSERT INTO SQL语句来插入数据。

你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。

Syntaxe

以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:"value"。

通过命令提示窗口插入数据

以下我们将使用 SQL INSERT INTO 语句向 MySQL 数据表 w3codebox_tbl 插入数据

Exemple en ligne

以下示例中我们将向 w3codebox_tbl 表插入三条数据:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use w3codebox;
Database changed
mysql> INSERT INTO w3codebox_tbl 
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("学习 PHP", "基础教程网", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO w3codebox_tbl
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("学习 MySQL", "基础教程网", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO w3codebox_tbl
    -> (w3codebox_title, w3codebox_author, submission_date)
    -> VALUES
    -> ("JAVA tutorial", "oldtoolbag.com", '2016-05-06);
Query OK, 1 rows affected (0.00 sec)
mysql>

Attention :Marqué par une flèche -> qui n'est pas une partie de l'instruction SQL, il ne représente qu'une nouvelle ligne. Si une instruction SQL est trop longue, nous pouvons créer une nouvelle ligne en appuyant sur la touche Retour pour écrire l'instruction SQL, et le signe de fin de commande de l'instruction SQL est le point-virgule ;.

Dans l'exemple précédent, nous n'avons pas fourni3Les données de codebox_id, car nous avons déjà configuré ce champ en tant qu'attribut AUTO_INCREMENT lors de la création de la table. Donc, ce champ augmente automatiquement sans nécessiter de configuration. Dans l'exemple, NOW() est une fonction MySQL qui retourne la date et l'heure.

Nous pouvons afficher les données de la table de données via les instructions suivantes :

Sélection * de w3codebox_tbl;

Résultat de la sortie :

Insérer des données en utilisant un script PHP

Vous pouvez utiliser la fonction mysqli_query() de PHP pour exécuter SQL INSERT INTOCommande pour insérer des données.

Cette fonction a deux paramètres, elle retourne TRUE avec succès, FALSE sinon.

Syntaxe

mysqli_query(connection, query, resultmode);
ParamètresDescription
connectionObligatoire. Spécifiez la connexion MySQL à utiliser.
queryObligatoire. Spécifiez la chaîne de requête.
resultmode

Optionnel. Une constante. Peut être l'une des valeurs suivantes :

  • MYSQLI_USE_RESULT (si vous avez besoin de récupérer une grande quantité de données, utilisez cette option)

  • MYSQLI_STORE_RESULT (par défaut)

Exemple en ligne

Dans l'exemple suivant, le programme reçoit les données de trois champs entrées par l'utilisateur et insère les données dans la table :

Ajouter des données

<?php
$dbhost = "localhost";  // Adresse de l'hôte du serveur MySQL
$dbuser = "root";            // Nom d'utilisateur MySQL
$dbpass = "123456";          // Nom d'utilisateur et mot de passe MySQL
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
  die('Échec de la connexion: ' . mysqli_error($conn));
}
 /">
// Définir l'encodage pour éviter les caractères chinois illégaux
mysqli_query($conn, "set names utf8");
 
$w3codebox_title = "Apprendre Python"
$w3codebox_author = "oldtoolbag.com"
$submission_date = "2019-06-08";
 
$sql = "INSERT INTO w3codebox_tbl ".
        "($w3codebox_title, $w3codebox_author, submission_date) ".
        "VALUES ".
        "('$w3codebox_title','$w3codebox_author','$submission_date');
 
 
 
mysqli_select_db($conn, 'w3codebox');
$retval = mysqli_query($conn, $sql);
if(! $retval )
{
  die('Impossible d'insérer des données: ' . mysqli_error($conn));
}
echo "Insertion de données réussie\n";
mysqli_close($conn);
?>

Pour l'insertion de données contenant du chinois, il est nécessaire d'ajouter mysqli_query($conn , "set names utf8; Instruction.)

Nous pouvons afficher les données de la table de données via les instructions suivantes :

Sélection * de w3codebox_tbl;

Résultat de la sortie :