Cara Menggunakan Database MySQL pada Nodejs

Pada artikel ini. kita akan belajar membuat program Nodejs dengan database MySQL. Hal ini penting untuk dipelajari, karena kita tidak hanya akan menyimpan data di dalam variabel dan file saja. Kita juga dapat menyimpan data di pada sebuah database. Adapun database yang akan digunakan adalah sesuai pada judul artikel ini yaitu MySQL. untuk itu mari kita awali dengan definisi dari MySQL.

Apa itu MySQL ?

MySQL adalah sebuah sistem manajemen database relasional (RDBMS) berbasis SQL (Structured Query Language) yang bersifat open-source dengan model client-server. dari definisi MySQL sendiri, maka untuk menjalankan sistem MySQL pada Nodejs kita membutuhkan server. Pada tutorial ini, server yang saya gunakan server lokal yaitu XAMPP.

Install Modul MySQL

Modul mysql digunakan untuk menghubungkan Nodejs dengan MySQL. Secara default modul ini tidak ada didalam Nodejs, jadi kita itu harus menginstalnya terlebih dahulu.

1. Buatlah direktori baru bernama nodejs-mysql:

mkdir nodejs-mysql

2. Setelah itu ketikkan perintah berikut untuk menginstal modul mysql:

npm install mysql

Menghubungkan Nodejs dengan MySQL

1. Buatlah file baru bernama db_config.js, kemudian isi dengan kode berikut:

const mysql = require('mysql');

const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});

db.connect(function(error){
    if(error){
        console.error(error);
    } else {
        console.info("Connected to Database");
    }
});

module.exports = db;

Keterangan :

createConnection(), kita harus isi dengan alamat host, user mysql, dan password mysql. Jadi, kalau menggunakan XAMPP, user-nya adalah root dan tanpa password.

2. Setelah itu, coba eksekusi file db_config.js.

Bila muncul pesan Connected to database, maka itu artinya koneksi program nodejs dengan server mysql sudah berhasil.

Membuat Database dengan Nodejs

Setelah berhasil menghubunkan Nodejs dengan Mysql. Langkah berikutnya adalah melakukan query. Query atau SQL (Structured Query Language) merupakan bahasa yang digunakan untuk mengakses MySQL. Berikut ini merupakan query untuk membuat database:

CREATE DATABASE nama_database;

query ini akan kita eksekusi di dalam program Nodejs.

1. Buatlah file baru bernama create_db.js, kemudian isi dengan kode berikut:

var db = require("./db_config");

const sql = "CREATE DATABASE praktek_otodidak";
db.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Database created");
});

Keterangan :

– var db = require(“./db_config”); kita mengimpor file db_config.js sebagai modul.

– const sql = “CREATE DATABASE praktek_otodidak”; Nama database yang akan dibuat di dalam query SQL.

– Fungsi db.query() memiliki dua parameter yang harus diberikan. Pertama parameter sql yang merupakan query MYSQL dalam bentuk string. dan yang kedua adalah fungsi callback yang akan dieksekusi setelah query dilakukan.

– Fungsi callback memiliki dua parameter: err dan result.

Parameter err akan menjadi objek yang menyimpan err kalau gagal melakukan query, sedangkan result akan menjadi objek yang menyimpan data hasil query.

2. Setelah itu, coba kita eksekusi program create_db.js.

3. Seperti pada gambar diatas, maka database sudah berhasil dibuat. Kalau kita cek dari PHPmyadmin, maka akan terlihat seperti ini:

MySQL Nodejs

Membuat Tabel MySQL dengan Nodejs

Setelah kita sudah mengetahui cara mengeksekusi query sql di Nodejs. Selanjutnya, kita akan mempelajari cara membuat tabel. Adapun caranya sama seperti membuat database. Perbedaanya pada query yang digunakan.

Contoh :

1. Silahkan ubah isi db_config.js menjadi seperti ini:

const mysql = require('mysql');

const db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "praktek_otodidak"
});

db.connect(function(error){
    if(error){
        console.error(error);
    } else {
        console.info("Connected to Database");
    }
});

module.exports = db;

Keterangan :

Pada kode tersebut, kita hanya menambahkan nama database yang sudah dibuat.

2. Setelah itu, buat file baru bernama create_table.js dengan isi sebagai berikut:

const db = require("./db_config");

const sql = `CREATE TABLE pelanggan 
    (
        id int NOT NULL AUTO_INCREMENT,
        name VARCHAR(255), 
        address VARCHAR(255),
        PRIMARY KEY (id)
    )`;

db.query(sql, function (err, result) {
  if (err) throw err;
  console.log("Table created");
});

Keterangan :

Kita menggunakan petik ini ` untuk menulis query yang lebih dari satu baris. Pada query tersebut, kita akan membuat tabel dengan nama customers dengan kolom id, name, dan address.

3. Sekarang kita coba eksekusi  dengan perintah : node create_table.js

4. Setelah itu kita cek lagi di Phpmyadmin, maka tampilannya akan seperti gambar dibawah ini.

MySQL Nodejs

Insert Data ke MySQL dengan Nodejs

Setelah kita sudah berhasil membuat tabel, langkah berikutnya kita akan coba mengisi data tersebut.

1. Buatlah file baru bernama insert.js, kemudian isi dengan kode berikut:

const db = require("./db_config");

const sql = `INSERT INTO pelanggan (name, address) 
            VALUES ('Ratna', 'jl.sudirman no 1 jakarta')`;

db.query(sql, function (err, result) {
  if (err) throw err;
  console.log("1 record inserted");
});

2. Setelah itu, coba kita eksekusi dengan perintah : node insert.js

3. Sekarang coba cek lagi Phpmyadmin, maka hasilnya akan terlihat seperti gambar dibawah ini.

MySQL Nodejs

Keterangan :

kita sudah berhasil membuat data pertama. Untuk menambahkan banyak data, kita bisa melakukannya dengan memberikan parameter [values] pada eksekusi query.

db.query(sql, [values], function (err, result){ ... });

Contoh :

1. Buatlah file baru bernama insert_multi.js, kemudian isi dengan kode berikut:

const db = require("./db_config");

const sql = "INSERT INTO pelanggan (name, address) VALUES ?";
const values = [
  ["Danis", "Jl.Teku Umar Jakarta"],
  ["Ronald", "Jl.Merdeka Bandung"],
  ["Diah", "Jl.Mayor ruslan Palembang"],
  ["Riski", "Jl.Soekarno hatta Jakarta "],
  ["Dina", "Jl.Merpati Bogor"],
  ["Yanti", "Jl.Jalak harupat Bogor"],
  ["I gede", "Jl.Ngurah Rai Bali"],
  ["Roy", "Jl.Rahadi Usman Pontianak"],
  ["Richard", "Jl.Rijali Ambon"],
];

db.query(sql, [values], function (err, result) {
  if (err) throw err;
  console.log("Number of records inserted: " + result.affectedRows);
});

Keterangan :

Kita menggunakan tanda tanya dalam query MySQL-nya. Tanda tanya ini akan bertugas sebagai placeholder untuk data. Nanti, tanda tanya tersebut akan mengambil nilai dari variabel values yang akan kita berikan sebagai parameter dalam pengeksekusian query.

Di dalam fungsi callback untuk query, kita menggunakan objek result untuk mengetahui berapa jumlah baris atau data yang telah ditambahkan.

console.log("Number of records inserted: " + result.affectedRows);

2. Sekarang eksekusi program tersebut dengan perintah : node insert_multi.js

3. Setelah itu coba refresh lagi data di Phpmyadmin., maka hasilnya :

MySQL Nodejs

Membaca Data MySQL di Nodejs

Berikutnya kita akan mencoba mebaca data dari MySQ, lalu menampilkannya di dalam program.

1. Buatlah file baru bernama read.js, kemudian isi dengan kode berikut:

const db = require("./db_config");

const sql = "SELECT * FROM pelanggan";

db.query(sql, function (err, result) {
  if (err) throw err;

  // menggunakan perulangan untuk menampilkan data
  console.log(`ID \t NAME \t\t ADDRESS`);
  console.log(`----------------------------------------------------------`);
  result.forEach((customer) => {
    console.log(`${customer.id} \t ${customer.name} \t ${customer.address}`);
  });
});

2. Setelah itu, coba eksekusi dengan perintah : node read.js

MySQL Nodejs

Dari hasil output ini, kita dapat mengetahui kalau variabel result adalah sebuah array yang berisi objek dari tiap baris atau data.

Update Data MySQL dengan Nodejs

Berikutnya kita akan mengubah data dengan query UPDATE. Adapun caranya masih sama, kita hanya mengubah query-nya saja.

1. Buatlah file baru dengan nama update.js, kemudian isi dengan kode berikut ini :

const db = require("./db_config");

// kita akan mengubah alamat Starbucks
const sql = `UPDATE pelanggan
           SET address='Jl.Teuku Umar Samarinda'
           WHERE id=2`;

db.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Number of records inserted: " + result.affectedRows);
});

Pada kode sql, kita akan mengubah alamat untuk data yang id-2. Dalam kasus ini data yang ber-id 2 adalah Danis.

3. Sekarang kita coba eksekusi lagi dengan perintah : node read.js

MySQL Nodejs

Perhatikan gambar diatas, alamat pada ID 2 yang awalnya dari Jl.Teuku Umar Jakarta, kini sudah berubah menjadi Jl.Teuku Umar Samarinda.

Hapus Data MySQL dengan Nodejs

Cara menghapus data sama seperti mengupdate data, kita hanya menggunakan query WHERE untuk memilih data yang akan dihapus.

Contoh :

1. Buatlah file baru bernama delete.js, kemudian isi dengan kode berikut:

const db = require("./db_config");

// kita akan menghapus data no 10 Richard
const sql = `DELETE FROM pelanggan WHERE id=10`;

db.query(sql, function (err, result) {
  if (err) throw err;
  console.log("Number of records inserted: " + result.affectedRows);
});

2. Setelah itu coba eksekusi dengan perintah :

node delete.js

3. Untuk mengetahui hasilnya, anda dapat cek dengan perintah berikut :

node read.js

Pada gambar diatas, ID 10 sudah dihapus dalam database.

Begitulah cara menggunakan database MySQL pada Nodejs, semoga mudah dipahami dan silahkan share artikel ini jika bermanfaat. Terima kasih !

Tinggalkan Balasan

Scroll to Top