Sunday, November 19, 2017

Belajar Node.js Part 22 - Join MySQL




Kita bisa mengombinasikan row dari 2 atau lebih tabel, berdasarkan kolom-kolom yang berelasi diantaranya, dengan menggunakan pernyataan "JOIN".

[MY_ADS/]

Misalkan kita memiliki tabel "users" dan tabel "products":

users
[
  { id: 1, name: 'Jack 1', favorite_product: 154},
  { id: 2, name: 'Jack 2', favorite_product: 154},
  { id: 3, name: 'Jack 3', favorite_product: 155},
  { id: 4, name: 'Jack 4', favorite_product:},
  { id: 5, name: 'Jack 5', favorite_product:}
]
products
[
  { id: 154, name: 'Produk 1' },
  { id: 155, name: 'Produk 2' },
  { id: 156, name: 'Produk 3' }
]

Kedua tabel ini dapat dikombinasikan dengan menggunakan field "favorite_product" dan field "products id"

Contohnya, jika kita ingin menyeleksi records yang match di antara kedua tabel:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT users.name AS user, products.name AS favorite FROM users JOIN products ON users.favorite_product = products.id";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_15.js", kemudian jalankan perintah ini:
node mysql_15.js
Hasilnya akan seperti ini:

[
  { user: 'Jack 1', favorite: 'Produk 1' },
  { user: 'Jack 2', favorite: 'Produk 1' },
  { user: 'Jack 3', favorite: 'Produk 2' }
]

Seperti yang bisa kita lihat dari hasil di atas, hanya records yang match pada kedua tabel saja yang ditampilkan.

Left Join

Jika kita ingin mengembalikan semua users, tidak peduli apakah mereka memiliki favorite_product atau tidak, gunakan LEFT JOIN.

Contohnya, jika kita ingin menyeleksi semua users dan favorite product-nya:

SELECT users.name AS user,
products.name AS favorite
FROM users
LEFT JOIN products ON users.favorite_product = products.id

Hasilnya akan seperti ini:

[
  { user: 'Jack 1', favorite: 'Produk 1' },
  { user: 'Jack 2', favorite: 'Produk 1' },
  { user: 'Jack 3', favorite: 'Produk 2' },
  { user: 'Jack 4', favorite: null },
  { user: 'Jack 5', favorite: null }
]

Right Join

Jika kita ingin mengembalikan semua products dan semua users yang mem-favorite-kannya, meskipun tidak ada user yang mem-favorite-kannya, gunakan RIGHT JOIN.

Contohnya:

SELECT users.name AS user,
products.name AS favorite
FROM users
RIGHT JOIN products ON users.favorite_product = products.id

Hasilnya akan seperti ini:

[
  { user: 'Jack 1', favorite: 'Produk 1' },
  { user: 'Jack 2', favorite: 'Produk 1' },
  { user: 'Jack 3', favorite: 'Produk 2' },
  { user: null, favorite: 'Produk 3' }
]

Catatan: Jack 4 dan Jack 5, yang tidak mem-favorite-kan apapun, tidak termasuk dalam hasil.

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 21 - Limit MySQL




Kita bisa membatasi jumlah records yang dikembalikan dari query dengan menggunakan pernyataan "LIMIT".

Contohnya, jika kita ingin menyeleksi 5 record pertama dari tabel "pelanggans":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM pelanggans LIMIT 5";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_14.js", kemudian jalankan perintah ini:
node mysql_14.js
Hasilnya akan seperti ini:

[
  { id: 1, name: 'Jack1', address: 'Jalan Linggis 7'},
  { id: 2, name: 'Jack2', address: 'Jalan Linggis 4'},
  { id: 3, name: 'Jack3', address: 'Jalan Linggis 6'},
  { id: 4, name: 'Jack4', address: 'Jalan Linggis 2'},
  { id: 5, name: 'Jack5', address: 'Jalan Linggis 3'}
]

Memulai dari Posisi yang Lain

Jika kita ingin mengembalikan 5 record, dimulai dari record ke-3, kita bisa menggunakan keyword "OFFSET".

Contohnya, jika kita ingin memulai dari posisi 3, kemudian mengembalikan 5 record:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM pelanggans LIMIT 5 OFFSET 2";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

[MY_ADS/]

Simpan kode tersebut dengan nama "mysql_15.js", kemudian jalankan perintah ini:
node mysql_15.js
Hasilnya akan seperti ini:

[
  { id: 3, name: 'Jack3', address: 'Jalan Linggis 6'},
  { id: 4, name: 'Jack4', address: 'Jalan Linggis 2'},
  { id: 5, name: 'Jack5', address: 'Jalan Linggis 3'},
  { id: 6, name: 'Jack6', address: 'Jalan Linggis 32'},
  { id: 7, name: 'Jack7', address: 'Jalan Linggis 38'}
]

Sintaks yang Lebih Pendek

Kita juga bisa menggunakan "LIMIT 2, 5" untuk mendapatkan hasil yang sama dengan contoh di atas.

Contohnya, mulai dari posisi 3, kemudian kembalikan 5 recordnya:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "SELECT * FROM pelanggans LIMIT 2, 5";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Catatan: "LIMIT 2, 5" sama dengan "LIMIT 5 OFFSET 2"

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 20 - Update MySQL




Kita bisa meng-update records yang telah ada dalam sebuah tabel dengan menggunakan statement "UPDATE".

Contohnya, jika kita ingin mengubah kolom address dari "Jalan Nanas 1" ke "Jalan Smartphone 5":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "UPDATE customers SET address = 'Jalan Smartphone 5' WHERE address = 'Jalan Nanas 1'";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result.affectedRows + " record diupdate");
  });
});

[MY_ADS/]

Simpan kode tersebut dengan nama "mysql_14.js", kemudian jalankan perintah ini:
node mysql_14.js
Hasilnya akan seperti ini:
1 record diupdate

Result Object

Result object yang dikembalikan dari contoh di atas akan seperti ini:

{
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 34,
  warningCount: 0,
  message: '(Rows matched: 1 Changed: 1 Warnings: 0',
  protocol41: true,
  changedRows: 1
}

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 19 - Drop Table MySQL




Kita bisa menghapus tabel yang telah ada dengan menggunakan pernyataan "DROP TABLE".

Contohnya, jika kita menghapus tabel "pelanggans":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "DROP TABLE pelanggans";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Table dihapus");
  });
});

Simpan kode tersebut dengan nama "mysql_12.js", kemudian jalankan perintah ini:
node mysql_12.js
Hasilnya akan seperti ini:
Table dihapus
[MY_ADS/]

Hapus Table jika Ada

Jika tabel yang akan kita hapus telah dihapus, atau tidak ada karena alasan lain, kita bisa menggunakan IF EXISTS untuk menghindari error.

Contohnya, jika kita menghapus tabel "pelanggans" jika ada:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "DROP TABLE IF EXISTS pelanggans";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_13.js", kemudian jalankan perintah ini:
node mysql_13.js
Jika tabelnya ada, maka result object-nya akan seperti ini:

{
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverstatus: 2,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}

Jika tidak ada, seperti ini:

{
  fieldCount: 0,
  affectedRows: 0,
  insertId: 0,
  serverstatus: 2,
  warningCount: 1,
  message: '',
  protocol41: true,
  changedRows: 0
}

Jadi warning count-nya akan berubah menjadi 1.

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 18 - Delete MySQL




Kita bisa menghapus records dari sebuah tabel yang telah ada dengan menggunakan pernyataan "DELETE FROM".

Contohnya, jika kita ingin menghapus record dengan nilai address "Jalan Durian 1":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "DELETE FROM pelanggans WHERE address = 'Jalan Durian 1'";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Jumlah record yang dihapus: " + result.affectedRows);
  });
});

Perhatikan WHERE clause dalam query tersebut.

WHERE menjelaskan record mana yang seharusnya dihapus.

Jika kita tidak menggunakan WHERE, semua record akan dihapus.

Simpan kode tersebut dengan nama "mysql_11.js", kemudian jalankan perintah ini:
node mysql_11.js
[MY_ADS/]

Hasilnya akan seperti ini:
Jumlah record yang dihapus: 1

Result Object

Ketika sedang mengeksekusi sebuah query, sebuah result object dikembalikan.

Result object mengandung informasi tentang bagaimana query telah diperlakukan.

Result object-nya seperti ini:

{
  fieldCount: 0,
  affectedRows: 1,
  insertId: 0,
  serverStatus: 34,
  warningCount: 0,
  message: '',
  protocol41: true,
  changedRows: 0
}

Nilai dari property-nya dapat ditampilkan dengan cara ini:

console.log(result.affectedRows)

Yang hasilnya seperti ini:
1
Sumber:
https://www.w3schoools.com

Belajar Node.js Part 17 - Order By MySQL




Gunakan pernyataan "ORDER BY" untuk mengurutkan hasil query dalam urutan ascending atau descending.

Keyword ORDER BY mengurutkan hasil secara ascending secara default.

Untuk mengurutkan secara descending, gunakan keyword DESC.

Contohnya, jika kita ingin mengurutkan daftar nama secara alfabetis:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM pelanggans ORDER BY name", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

[MY_ADS/]

Simpan kode tersebut dengan nama "mysql_10.js", kemudian jalankan perintah ini:
node mysql_10.js
Hasilnya akan seperti ini:

[
  { id: 3, name: 'Anna', address: 'Jalan Bunga 52'},
  { id: 1, name: 'Budiman', address: 'Jalan Ikan 8'},
  { id: 2, name: 'Chandra', address: 'Jalan Unggas 5'}
]

Gunakan DESC untuk descending:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM pelanggans ORDER BY name DESC", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_11.js", kemudian jalankan perintah ini:
node mysql_11.js
Hasilnya akan seperti ini:

[
  { id: 2, name: 'Chandra', address: 'Jalan Unggas 5'},
  { id: 1, name: 'Budiman', address: 'Jalan Ikan 8'},
  { id: 3, name: 'Anna', address: 'Jalan Bunga 52'}
]

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 16 - Where MySQL




Ketika menyeleksi records dari sebuah table, kita dapat memfilter seleksi dengan menggunakan pernyataan "WHERE".

Contohnya, jika kita menyeleksi record dengan address "Jalan Bodas 3":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM pelanggans WHERE address = 'Jalan Bodas 3'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_8.js", kemudian jalankan perintah ini:
node mysql_8.js

Hasilnya akan seperti ini:

[
  { id: 11, name: 'Andre', address: 'Jalan Bodas 3'}
]

Karakter Wildcard

Kita juga bisa menyeleksi records yang dimulai, termasuk, atau berakhir dengan sebuah frasa.

Gunakan  wildcard '%' untuk nilai nol, satu, atau banyak karakter.

Contohnya, jika kita menyeleksi records yang alamatnya dimulai dari huruf 'S':

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM pelanggans WHERE address LIKE 'S%'", function (err, result) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_9.js", kemudian jalankan perintah ini:
node mysql_9.js
Hasilnya akan seperti ini:

[
  { id: 8, name: 'Si Dani', address: 'Jalan Kaktus 33'},
  { id: 14, name: 'Si Yuli', address: 'Jalan Beringin 16'}
]

[MY_ADS/]

Meng-Escape Nilai Query

Ketika nilai query merupakan variabel yang disediakan oleh user, kita seharusnya meng-escape nilainya.

Hal ini ditujukan untuk mencegah SQL Injection, yang sering dilakukan ketika hacking.

Modul MySQL memiliki metode untuk meng-escape nilai query.

Contohnya, jika kita meng-escape nilai query dengan menggunakan metode mysql.escape():

var adr = 'Jalan Kumbang 8';
var sql = 'SELECT * FROM pelanggans WHERE address = ' + mysql.escape(adr);
con.query(sql, function (err, result) {
  if (err) throw err;
  console.log(result);
});

Kita juga bisa menggunakan tanda tanya (?) sebagai sebuah placeholder untuk nilai yang kita ingin escape.

Dalam hal ini, variabel dikirim sebagai parameter ke-dua dalam method query():

Contohnya, jika kita ingin meng-escape nilai query dengan tanda tanya (?):

var adr = 'Jalan Kumbang 8';
var sql = 'SELECT * FROM pelanggans WHERE address = ?';
con.query(sql, [adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

Jika kita memiliki banyak placeholder, gunakan array sebagai input:

var name = 'Dina';
var adr = 'Jalan Kumbang 8';
var sql = 'SELECT * FROM pelanggans WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

Sumber:
https://www.w3schoools.com

Belajar Node.js Part 15 - Select From MySQL




Untuk menyeleksi data dari sebuah tabel di MySQL, gunakan pernyataan "SELECT".

Contohnya, jika kita menyeleksi semua records dari tabel "pelanggans", dan menampilkan result object-nya:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT * FROM pelanggans", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_7.js", kemudian jalankan perintah ini:
node mysql_7.js

Hasilnya akan seperti ini:

[
  { id: 1, name: 'Jack1', address: 'Jalan Mawar 715'},
  { id: 2, name: 'Jack2', address: 'Jalan Mawar 44'},
  { id: 3, name: 'Jack3', address: 'Jalan Mawar 6525'},
  { id: 4, name: 'Jack4', address: 'Jalan Mawar 216'},
  { id: 5, name: 'Jack5', address: 'Jalan Mawar 3454'},
  { id: 6, name: 'Jack6', address: 'Jalan Mawar 21'},
  { id: 7, name: 'Jack7', address: 'Jalan Mawar 12'},
  { id: 8, name: 'Jack8', address: 'Jalan Mawar 3'},
  { id: 9, name: 'Jack9', address: 'Jalan Mawar 6'},
  { id: 10, name: 'Jack10', address: 'Jalan Mawar 27'},
  { id: 11, name: 'Jack11', address: 'Jalan Mawar 389'},
  { id: 12, name: 'Jack12', address: 'Jalan Mawar 95'},
  { id: 13, name: 'Jack13', address: 'Jalan Mawar 98'},
  { id: 14, name: 'Jack14', address: 'Jalan Mawar 16'}
]

Menyeleksi Kolom

Untuk menyeleksi hanya beberapa dari kolom dalam sebuah tabel, gunakan pernyataan "SELECT" diikuti dengan nama kolom.

[MY_ADS/]

Contohnya, jika kita akan menyeleksi nama dan alamat dari tabel "pelanggans" dan menampilkan result object:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  connection.query("SELECT name, address FROM pelanggans", function (err, result, fields) {
    if (err) throw err;
    console.log(result);
  });
});

Simpan kode tersebut dengan nama "mysql_8.js", kemudian jalankan perintah ini:
node mysql_8.js
Hasilnya akan seperti ini:

[
  { name: 'Jack1', address: 'Jalan Mawar 715'},
  { name: 'Jack2', address: 'Jalan Mawar 44'},
  { name: 'Jack3', address: 'Jalan Mawar 6525'},
  { name: 'Jack4', address: 'Jalan Mawar 216'},
  { name: 'Jack5', address: 'Jalan Mawar 3454'},
  { name: 'Jack6', address: 'Jalan Mawar 21'},
  { name: 'Jack7', address: 'Jalan Mawar 12'},
  { name: 'Jack8', address: 'Jalan Mawar 3'},
  { name: 'Jack9', address: 'Jalan Mawar 6'},
  { name: 'Jack10', address: 'Jalan Mawar 27'},
  { name: 'Jack11', address: 'Jalan Mawar 389'},
  { name: 'Jack12', address: 'Jalan Mawar 95'},
  { name: 'Jack13', address: 'Jalan Mawar 98'},
  { name: 'Jack14', address: 'Jalan Mawar 16'}
]

Sumber:
https://www.w3schoools.com


Belajar Node.js Part 14 - Insert Into MySQL




Untuk mengisi sebuah tabel dalam MySQL, gunakan pernyataan "INSERT INTO".

Contohnya, jika kita meng-insert sebuah record ke dalam tabel "pelanggans":

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_pengguna_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  console.log("Terkoneksi!");
  var sql = "INSERT INTO pelanggans (name, address) VALUES ('PT. Perusahaan', 'Jalan Anggur 30')";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record diinseert");
  });
});

Simpan kode tersebut dengan nama "mysql_4.js", kemudian jalankan dengan perintah:
node mysql_4.js
Hasilnya akan seperti ini:
Terkoneksi!
1 record diinseert

Meng-Insert Banyak Records

Untuk meng-insert lebih dari satu record, buat sebuah array yang berisi nilai-nilai yang akan dimasukkan, kemudian beri tanda tanya (?) di dalam SQL-nya.

[MY_ADS/]

Nanti tanda tanya tersebut akan di-replace dengan array:
INSERT INTO pelanggans (name, address) VALUES ?
Contohnya, isi tabel "pelanggans" dengan data:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_pengguna_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  console.log("Terkoneksi!");
  var sql = "INSERT INTO pelanggans (name, address) VALUES ?";
  var values = [
    ['Mas Andi', 'Jalan Anggrek No. 71'],
    ['Jack', 'Jalan Anggrek No. 4'],
    ['Budi', 'Jalan Anggrek No. 652'],
    ['Nina', 'Jalan Anggrek No. 21'],
    ['Anton', 'Jalan Anggrek No. 345'],
    ['Jack1', 'Jalan Anggrek No. 2'],
    ['Jack2', 'Jalan Anggrek No. 1'],
    ['Jack3', 'Jalan Anggrek No. 331'],
    ['Jack4', 'Jalan Anggrek No. 98'],
    ['Jack5', 'Jalan Anggrek No. 2'],
    ['Jack6', 'Jalan Anggrek No. 38'],
    ['Jack7', 'Jalan Anggrek No. 954'],
    ['Jack8', 'Jalan Anggrek No. 989'],
    ['Jack9', 'Jalan Anggrek No. 1633']
  ];
  connection.query(sql, [values], function (err, result) {
    if (err) throw err;
    console.log("Jumlah record yang diinsert: " + result.affectedRows);
  });
});

Simpan kode tersebut dengan nama "mysql_5.js", kemudian jalankan dengan perintah:
node mysql_5.js
Hasilnya akan seperti ini:
Terkoneksi!
Jumlah record yang diinsert: 14

Result Object

Ketika mengeksekusi sebuah query, sebuah result object dikembalikan.

Result object mengandung informasi tentang bagaimana query memengaruhi tabel.

Result object yang dikembalikan dari contoh di atas terlihat seperti ini:

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

Contohnya, kembalikan jumlah row yang terdampak:

console.log(result.affectedRows)

Nilai dari properties dapat ditampilkan seperti ini:
14

Mendapatkan ID yang telah Di-Insert

Untuk tabel dengan auto increment id, kita dapat mendapatkan id dari row yang baru kita insert dengan result object.

Catatan: Untuk bisa mendapatkan inserted id, hanya satu row yang bisa diinsert.

Contohnya, jika kita meng-insert sebuah record dalam tabel "pelanggans" dan mengembalikan ID-nya:

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: "localhost",
  user: "nama_pengguna_anda",
  password: "password_anda",
  database: "dbsaya"
});

connection.connect(function(err) {
  if (err) throw err;
  var sql = "INSERT INTO pelanggans (name, address) VALUES ('Yoga', 'Jalan Patin No. 1')";
  connection.query(sql, function (err, result) {
    if (err) throw err;
    console.log("1 record diinseert, ID: " + result.insertId);
  });
});

Simpan kode di atas dengan nama "mysql_6.js", kemudian jalankan perintah ini:
node mysql_6.js
Hasilnya akan seperti ini:
1 record diinseert, ID: 15
Sumber:
https://www.w3schoools.com