Table of contents
To fill a table in MySQL, use the "INSERT INTO" statement.
Let us show some code sample by inserting a record in the "customers" table:
const mysql = require('mysql');
const con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
const 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");
});
});
Now, save the code above in a file called "demo_db_insert.js", and run the file on your terminal with the command: node demo_db_insert.js
This will give you this result:
Connected!
1 record inserted
Insert Multiple Records
To insert more than one record, make an array containing the values, and insert a question mark in the sql, which will be replaced by the value array:
INSERT INTO customers (name, address) VALUES ?
Now, fill the "customers" table with data.
Code Sample:
const mysql = require('mysql');
const con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
const sql = "INSERT INTO customers (name, address) VALUES ?";
const 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);
});
});
Now, save the code above in a file called "demo_db_insert_multple.js", and run the file on your terminal with this command: node demo_db_insert_multiple.js
This will give you this result:
Connected!
Number of records inserted: 14
The Result Object
When executing a query, a result object is returned. The result object contains information about how the query affected the table. The result object returned from the example above looks like this:
{
fieldCount: 0,
affectedRows: 14,
insertId: 0,
serverStatus: 2,
warningCount: 0,
message: '\'Records:14 Duplicated: 0 Warnings: 0',
protocol41: true,
changedRows: 0
}
The values of the properties can be displayed like this:
Now, return the number of affected rows:
console.log(result.affectedRows)
This will produce this result:
14
Get Inserted ID
For tables with an auto increment id field, you can get the id of the row you just inserted by asking the result object.
Note: To be able to get the inserted id, only one row can be inserted.
Now, insert a record in the "customers" table, and return the ID:
const mysql = require('mysql');
const con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
const 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);
});
});
Save the code above in a file called "demo_db_insert_id.js", and run the file:
node demo_db_insert_id.js
This will give you something like this in return:
1 record inserted, ID: 15
Thanks for reading...
Happy Coding!