Node.js MySQL Insérer dans


Insérer dans le tableau

Pour remplir une table dans MySQL, utilisez l'instruction "INSERT INTO".

Exemple

Insérez un enregistrement dans la table "clients" :

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ('Company Inc', 'Highway 37')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted");
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_db_insert.js", et exécutez le fichier :

Exécutez "demo_db_insert.js"

C:\Users\Your Name>node demo_db_insert.js

Ce qui vous donnera ce résultat :

Connected!
1 record inserted


Insérer plusieurs enregistrements

Pour insérer plus d'un enregistrement, créez un tableau contenant les valeurs et insérez un point d'interrogation dans le sql, qui sera remplacé par le tableau de valeurs :
INSERT INTO customers (name, address) VALUES ?

Exemple

Remplissez la table "clients" avec les données :

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ?";
  var values = [
    ['John', 'Highway 71'],
    ['Peter', 'Lowstreet 4'],
    ['Amy', 'Apple st 652'],
    ['Hannah', 'Mountain 21'],
    ['Michael', 'Valley 345'],
    ['Sandy', 'Ocean blvd 2'],
    ['Betty', 'Green Grass 1'],
    ['Richard', 'Sky st 331'],
    ['Susan', 'One way 98'],
    ['Vicky', 'Yellow Garden 2'],
    ['Ben', 'Park Lane 38'],
    ['William', 'Central st 954'],
    ['Chuck', 'Main Road 989'],
    ['Viola', 'Sideway 1633']
  ];
  con.query(sql, [values], function (err, result) {
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_db_insert_multple.js", et exécutez le fichier :

Exécutez "demo_db_insert_multiple.js"

C:\Users\Your Name>node demo_db_insert_multiple.js

Ce qui vous donnera ce résultat :

Connected!
Number of records inserted: 14

L'objet de résultat

Lors de l'exécution d'une requête, un objet de résultat est renvoyé.

L'objet de résultat contient des informations sur la façon dont la requête a affecté la table.

L'objet de résultat renvoyé par l'exemple ci-dessus ressemble à ceci :

{
  fieldCount: 0,
  affectedRows: 14,
  insertId: 0,
  serverStatus: 2,
  warningCount: 0,
  message: '\'Records:14  Duplicated: 0  Warnings: 0',
  protocol41: true,
  changedRows: 0
}

Les valeurs des propriétés peuvent être affichées comme ceci :

Exemple

Renvoie le nombre de lignes concernées :

console.log(result.affectedRows)

Ce qui produira ce résultat :

14

Obtenir l'ID inséré

Pour les tables avec un champ d'identifiant d'incrémentation automatique, vous pouvez obtenir l'identifiant de la ligne que vous venez d'insérer en demandant à l'objet de résultat.

Remarque : Pour pouvoir obtenir l'identifiant inséré, une seule ligne peut être insérée.

Exemple

Insérez un enregistrement dans la table "clients", et renvoyez l'ID :

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "mydb"
});

con.connect(function(err) {
  if (err) throw err;
  var sql = "INSERT INTO customers (name, address) VALUES ('Michelle', 'Blue Village 1')";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record inserted, ID: " + result.insertId);
  });
});

Enregistrez le code ci-dessus dans un fichier appelé "demo_db_insert_id.js", et exécutez le fichier :

Exécutez "demo_db_insert_id.js"

C:\Users\Your Name>node demo_db_insert_id.js

Ce qui vous donnera quelque chose comme ça en retour :

1 record inserted, ID: 15