Node.js MySQL invoegen in


Invoegen in tabel

Gebruik de instructie "INSERT INTO" om een ​​tabel in MySQL te vullen.

Voorbeeld

Voeg een record toe aan de tabel "klanten":

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");
  });
});

Sla de bovenstaande code op in een bestand met de naam "demo_db_insert.js", en voer het bestand uit:

Voer "demo_db_insert.js" uit

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

Wat je dit resultaat geeft:

Connected!
1 record inserted


Meerdere records invoegen

Om meer dan één record in te voegen, maakt u een array met de waarden en voegt u een vraagteken in de sql in, dat zal worden vervangen door de waardearray:
INSERT INTO customers (name, address) VALUES ?

Voorbeeld

Vul de tabel "klanten" met gegevens:

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);
  });
});

Sla de bovenstaande code op in een bestand met de naam "demo_db_insert_multple.js", en voer het bestand uit:

Voer "demo_db_insert_multiple.js" uit

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

Wat je dit resultaat geeft:

Connected!
Number of records inserted: 14

Het resultaatobject

Bij het uitvoeren van een query wordt een resultaatobject geretourneerd.

Het resultaatobject bevat informatie over de invloed van de query op de tabel.

Het resultaatobject dat uit het bovenstaande voorbeeld wordt geretourneerd, ziet er als volgt uit:

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

De waarden van de eigenschappen kunnen als volgt worden weergegeven:

Voorbeeld

Retourneer het aantal betrokken rijen:

console.log(result.affectedRows)

Wat dit resultaat oplevert:

14

Ingevoegde ID ophalen

Voor tabellen met een auto-increment id-veld, kunt u de id krijgen van de rij die u zojuist hebt ingevoegd door het resultaatobject te vragen.

Opmerking: om de ingevoegde id te kunnen krijgen, kan slechts één rij worden ingevoegd.

Voorbeeld

Voeg een record in de tabel "klanten" in en retourneer de 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);
  });
});

Sla de bovenstaande code op in een bestand met de naam "demo_db_insert_id.js", en voer het bestand uit:

Voer "demo_db_insert_id.js" uit

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

Wat je in ruil daarvoor zoiets geeft:

1 record inserted, ID: 15