Node.js MySQL einfügen in


In Tabelle einfügen

Um eine Tabelle in MySQL zu füllen, verwenden Sie die Anweisung "INSERT INTO".

Beispiel

Fügen Sie einen Datensatz in die Tabelle "Kunden" ein:

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

Speichern Sie den obigen Code in einer Datei namens "demo_db_insert.js" und führen Sie die Datei aus:

Führen Sie "demo_db_insert.js" aus

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

Was Ihnen dieses Ergebnis geben wird:

Connected!
1 record inserted


Mehrere Datensätze einfügen

Um mehr als einen Datensatz einzufügen, erstellen Sie ein Array mit den Werten und fügen Sie ein Fragezeichen in die SQL ein, das durch das Wertarray ersetzt wird:
INSERT INTO customers (name, address) VALUES ?

Beispiel

Füllen Sie die Tabelle „Kunden“ mit Daten:

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

Speichern Sie den obigen Code in einer Datei namens "demo_db_insert_multple.js" und führen Sie die Datei aus:

Führen Sie "demo_db_insert_multiple.js" aus

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

Was Ihnen dieses Ergebnis geben wird:

Connected!
Number of records inserted: 14

Das Ergebnisobjekt

Beim Ausführen einer Abfrage wird ein Ergebnisobjekt zurückgegeben.

Das Ergebnisobjekt enthält Informationen darüber, wie sich die Abfrage auf die Tabelle ausgewirkt hat.

Das aus dem obigen Beispiel zurückgegebene Ergebnisobjekt sieht folgendermaßen aus:

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

Die Werte der Eigenschaften können wie folgt angezeigt werden:

Beispiel

Geben Sie die Anzahl der betroffenen Zeilen zurück:

console.log(result.affectedRows)

Was zu diesem Ergebnis führen wird:

14

Holen Sie sich die eingefügte ID

Bei Tabellen mit einem ID-Feld mit automatischer Erhöhung können Sie die ID der gerade eingefügten Zeile abrufen, indem Sie das Ergebnisobjekt fragen.

Hinweis: Um die eingefügte ID zu erhalten, kann nur eine Zeile eingefügt werden.

Beispiel

Fügen Sie einen Datensatz in die Tabelle "Kunden" ein und geben Sie die ID zurück:

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

Speichern Sie den obigen Code in einer Datei namens "demo_db_insert_id.js" und führen Sie die Datei aus:

Führen Sie "demo_db_insert_id.js" aus

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

Was Ihnen im Gegenzug so etwas geben wird:

1 record inserted, ID: 15