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