MySQL Insertion de données

Dans les tables MySQL, utilisez l'instructionINSERT INTOpour insérer des données.

Vous pouvez, viamysql>la fenêtre d'invite de commandes, insérer des données dans la table de données, ou via un script PHP pour insérer des données.

Syntaxe

Voici la syntaxe SQL courante pour insérer des données dans des tables de données MySQL : INSERT INTO syntaxe SQL :

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Description du paramètre :

  • table_nameest le nom de la table dans laquelle vous souhaitez insérer des données.
  • column1, column2, column3, ... sont les noms des colonnes dans la table.
  • value1, value2, value3, ... sont les valeurs spécifiques à insérer.

Si les données sont de type caractère, vous devez utiliser des guillemets simples'ou des guillemets doubles", par exemple : 'value1', "value1".

Un exemple simple qui insère une ligne de données dans une table nommée users :

INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', '[email protected]', '1990-01-01', true);
  • username: username, type chaîne de caractères.
  • email: adresse e-mail, type chaîne de caractères.
  • birthdate: date d'anniversaire de l'utilisateur, type date.
  • is_active: si activé, type booléen.

Si vous souhaitez insérer des données pour toutes les colonnes, vous pouvez omettre les noms des colonnes :

INSERT INTO users
VALUES (NULL,'test', '[email protected]', '1990-01-01', true);

Ici,NULLest l'espace réservé pour la colonne à incrémentation automatique, ce qui indique que le système va générer une valeur unique pour la colonneid.

Si vous souhaitez insérer plusieurs lignes de données, vous pouvez spécifier plusieurs ensembles de valeurs dans la clause VALUES :

INSERT INTO users (username, email, birthdate, is_active)
VALUES
    ('test1', '[email protected]', '1985-07-10', true),
    ('test2', '[email protected]', '1988-11-25', false),
    ('test3', '[email protected]', '1993-05-03', true);

Le code ci-dessus insérera trois lignes de données dans la table users.


Insérer des données via la fenêtre d'invite de commandes

Dans ce qui suit, nous allons utiliser l'instructionINSERT INTOpour insérer des données dans la table de données MySQL example_tbl

Exemple

Dans l'exemple suivant, nous allons insérer trois lignes de données dans la table example_tbl :

Exemple

root@host# mysql -u root -p password;
Entrez le mot de passe :*******
mysql> USE EXAMPLE;
DATABASE modifiée
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("Learn PHP", "Example Tutorial", NOW());
Requête OK, 1 LIGNES affectées, 1 avertissements (0.01 sec)
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("Learn MySQL", "Example Tutorial", NOW());
Requête OK, 1 LIGNES affectées, 1 avertissements (0.01 sec)
mysql> INSERT INTO example_tbl
    -> (example_title, example_author, submission_date)
    -> VALUES
    -> ("JAVA Tutorial", "example.com", '2016-05-06');
Requête OK, 1 LIGNES affectées (0.00 sec)
mysql>

Remarque :L'utilisation du marqueur de flèche->ne fait pas partie de l'instruction SQL ; il indique simplement une nouvelle ligne. Si une instruction SQL est trop longue, nous pouvons appuyer sur la touche Entrée pour créer une nouvelle ligne afin d'écrire l'instruction SQL. Le terminateur de commande d'une instruction SQL est un point-virgule.;。

Dans l'exemple ci-dessus, nous n'avons pas fourniexample_idde données pour ce champ, car nous avons déjà défini ce champ avec l'attributAUTO_INCREMENT(auto-incrément).NOW()est une fonction MySQL qui renvoie la date et l'heure.

Ensuite, nous pouvons consulter les données de la table de données avec l'instruction suivante :

Lire la table de données :

select * from example_tbl;

Résultat de sortie :


Insérer des données à l'aide d'un script PHP

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

Cette fonction a deux paramètres, retourne TRUE en cas de succès, sinon retourne FALSE.

Syntaxe

mysqli_query(connection,query,resultmode);
Paramètre Description
connexion Obligatoire. Spécifie la connexion MySQL à utiliser.
requête Obligatoire. Spécifie la chaîne de requête.
resultmode

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

  • MYSQLI_USE_RESULT (utilisez ceci si vous devez récupérer une grande quantité de données)
  • MYSQLI_STORE_RESULT (par défaut)

Exemple

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

Ajouter des données

<?php $dbhost = 'localhost'; //adresse de l'hôte du serveur MySQL $dbuser = 'root'; //nom d'utilisateur MySQL $dbpass = '123456'; //Mot de passe MySQL $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Échec de la connexion :' . mysqli_error($conn)); } echo 'Connexion réussie<br />'; //Définir l'encodage pour éviter les caractères chinois corrompus mysqli_query($conn , "set names utf8"); $example_title = 'Apprendre Python'; $example_author = 'example.com'; $submission_date = '2016-03-06'; $sql = "INSERT INTO example_tbl ". "(example_title,example_author, submission_date) ". "VALUES ". "('$example_title','$example_author','$submission_date')"; mysqli_select_db( $conn, 'EXAMPLE' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('Impossible d'insérer les données :' . mysqli_error($conn)); } echo "Données insérées avec succès\n"; mysqli_close($conn); ?>

Pour insérer des données contenant du chinois, vous devez ajoutermysqli_query($conn , "set names utf8");instruction.

Ensuite, nous pouvons consulter les données de la table de données avec l'instruction suivante :

Lire la table de données :

select * from example_tbl;

Résultat de sortie :

Autres extensions