Node.js MySQL Voeg in


Voeg in tabel

Om 'n tabel in MySQL te vul, gebruik die "INSERT INTO"-stelling.

Voorbeeld

Voeg 'n rekord in die "kliënte"-tabel in:

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

Stoor die kode hierbo in 'n lêer genaamd "demo_db_insert.js", en voer die lêer uit:

Begin "demo_db_insert.js"

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

Wat vir jou hierdie resultaat sal gee:

Connected!
1 record inserted


Voeg verskeie rekords in

Om meer as een rekord in te voeg, maak 'n skikking wat die waardes bevat, en voeg 'n vraagteken in die sql in, wat deur die waardeskikking vervang sal word:
INSERT INTO customers (name, address) VALUES ?

Voorbeeld

Vul die "kliënte" tabel met data:

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

Stoor die kode hierbo in 'n lêer genaamd "demo_db_insert_multple.js", en voer die lêer uit:

Begin "demo_db_insert_multiple.js"

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

Wat vir jou hierdie resultaat sal gee:

Connected!
Number of records inserted: 14

Die resultaatvoorwerp

Wanneer 'n navraag uitgevoer word, word 'n resultaatvoorwerp teruggestuur.

Die resultaatvoorwerp bevat inligting oor hoe die navraag die tabel beïnvloed het.

Die resultaat-objek wat uit die voorbeeld hierbo teruggekeer word, lyk soos volg:

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

Die waardes van die eiendomme kan soos volg vertoon word:

Voorbeeld

Wys die aantal geaffekteerde rye:

console.log(result.affectedRows)

Wat hierdie resultaat sal lewer:

14

Kry ingevoegde ID

Vir tabelle met 'n outo-inkrement-ID-veld, kan jy die ID kry van die ry wat jy sopas ingevoeg het deur die resultaatvoorwerp te vra.

Let wel: Om die ingevoegde ID te kan kry, kan slegs een ry ingevoeg word.

Voorbeeld

Voeg 'n rekord in die "kliënte"-tabel in en stuur die ID terug:

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

Stoor die kode hierbo in 'n lêer genaamd "demo_db_insert_id.js", en voer die lêer uit:

Begin "demo_db_insert_id.js"

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

Wat jou so iets in ruil sal gee:

1 record inserted, ID: 15