Cara menggunakan mysql router max connections

Nodejs biasanya dipasangkan dengan database Mongodb. Namun pada tutorial ini, kita akan menggunakan MySQL.

Bagaimana caranya?

Mari kita pelajari.

Membuat Project Nodejs

Buatlah direktori baru bernama

npm install mysql
2:

mkdir nodejs-mysql

Nanti di dalam direktori ini akan berisi file-file berikut:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js

Install Modul MySQL

Kita membutuhkan modul

npm install mysql
3 untuk menghubungkan Nodejs dengan MySQL.

Modul ini tidak dibawa secara default oleh Nodejs. Karena itu, kita harus menginstalnya.

Ketik perintah berikut untuk menginstal modul

npm install mysql
3:

npm install mysql

Tunggulah sampai prosesnya selesai.

Cara menggunakan mysql router max connections

Menghubungkan Nodejs dengan MySQL

Buat file baru bernama

npm install mysql
5, kemudian isi dengan kode berikut:

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});

Perhatikan parameter yang kita berikan pada method

npm install mysql
6…

…di sana kita harus isi dengan alamat

npm install mysql
7,
npm install mysql
8 mysql, dan
npm install mysql
9 mysql.

Biasanya, kalau menggunakan XAMPP, user-nya adalah

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
0 dan tanpa password.

Jadi gunakan ini untuk XAMPP:

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

Setelah itu, coba eksekusi file

npm install mysql
5.

Cara menggunakan mysql router max connections

Bila pesan

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
2 ditampilkan, maka itu artinya koneksi program nodejs kita dengan server mysql berhasil.

Namun, apabila gagal…

…maka akan tampil error seperti ini:

Cara menggunakan mysql router max connections

Errornya:

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)

Ini disebabkan karena saya menggunakan password yang salah.

Membuat Database dengan Nodejs

Kita sudah berhasil menghubunkan Nodejs dengan Mysql. Langkah berikutnya adalah melakukan query.

Query atau SQL (Structured Query Language) merupakan bahasa yang digunakan untuk mengakses MySQL.

Pertama kita akan coba query untuk membuat database.

Sudah tahu query-nya apa?

Belum?

Waduh, coba belajar MySQL dulu…

Berikut ini query untuk membuat database:

CREATE DATABASE nama_database;

Nah, query ini akan kita eksekusi di dalam program Nodejs.

Baiklah, silahkan buat file baru bernama

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
3, kemudian isi dengan kode berikut:

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

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

Pada kode di atas, kita mengimpor file

npm install mysql
5 sebagai modul.

Berarti kita harus melakukan ekspor di dalam

npm install mysql
5 agar bisa di-impor.

Tambahkan dan ubah

npm install mysql
5 menjadi seperti ini:

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;

Setelah itu, coba eksekusi program

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
3.

Cara menggunakan mysql router max connections

Databasenya berhasil dibuat.

Kalau kita cek dari PHPmyadmin, maka akan terlihat seperti ini:

Cara menggunakan mysql router max connections

Nama database yang dibuat adalah

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
8, karena kita memberikan nama itu di dalam query SQL.

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

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

Fungsi

var mysql = require('mysql');

var db = mysql.createConnection({
    host: "localhost",
    user: "dian",
    password: "kopi"
});

db.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");
});
9 memiliki dua parameter yang harus diberikan.

Pertama parameter

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
0 yang merupakan query MYSQL dalam bentuk string.

…dan yang kedua adalah fungsi callback yang akan dieksekusi setelah query dilakukan.

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
0

Fungsi callback memiliki dua parameter:

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
1 dan
var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
2.

Parameter

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
1 akan menjadi objek yang menyimpan
var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
1 kalau gagal melakukan query.

Sedangkan

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
2 akan menjadi objek yang menyimpan data hasil query.

Membuat Tabel MySQL dengan Nodejs

Kita sudah tahu cara mengeksekusi query sql di Nodejs. Selanjutnya, kita akan pelajar cara membuat tabel.

Caranya sama seperti membuat database. Perbedaanya pada query yang digunakan.

Namun, sebelum itu…

Silahkan ubah isi

npm install mysql
5 menjadi seperti ini:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
1

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

Cara menggunakan mysql router max connections

Setelah itu, buat file baru bernama

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
7 dengan isi sebagai berikut:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
2

Perhatikan kode di atas…

Kita menggunakan petik ini ` untuk menulis query yang lebih dari satu baris.

Tanda petik ini biasanya berada di atas tombol Tab di keyboard.

Cara menggunakan mysql router max connections

Ini adalah teknik penulisan string yang lebih dari satu baris di Javascript.

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
3

Pada query tersebut, kita akan membuat tabel dengan nama

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
8 dengan kolom
var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
9,
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
0, dan
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
1.

Oke, sekarang coba kita eksekusi:

Cara menggunakan mysql router max connections

…dan coba cek lagi di Phpmyadmin.

Cara menggunakan mysql router max connections

Insert Data ke MySQL dengan Nodejs

Kita sudah berhasil membuat tabel, barikutnya kita akan coba isi data ke sana.

Caranya sama…

Cuma yang membedakan adalah query-nya.

Mari kita coba.

Buatlah file baru bernama

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
2, kemudian isi dengan kode berikut:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
4

Setelah itu, coba eksekusi.

Cara menggunakan mysql router max connections

…dan sekarang coba cek lagi Phpmyadmin.

Cara menggunakan mysql router max connections

Yay, data pertama berhasil kita buat.

Lalu bagaimana kalau ada banyak data yang ingin kita tambahakan?

Ini bisa dilakukan dengan memberikan parameter

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
3 pada eksekusi query.

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
5

Untuk lebih jelasnya, mari kita coba.

Buatlah file baru bernama

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
4, kemudian isi dengan kode berikut:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
6

Perhatikan pada kode di atas…

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

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
5 yang akan kita berikan sebagai parameter dalam pengeksekusian query.

Lalu di dalam fungsi callback untuk query, kita menggunakan objek

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
2 untuk mengetahui berapa jumlah baris atau data yang telah ditambahkan.

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
7

Sekarang coba eksekusi program tersebut.

Cara menggunakan mysql router max connections

…dan coba lihat lagi data di Phpmyadmin.

Cara menggunakan mysql router max connections

Membaca Data MySQL di Nodejs

Berikutnya kita akan mencoba mebaca data dari MySQL dan menampilkannya di dalam program.

Caranya sama…

Perbedaanya pada query saja.

Silahkan buat file baru bernama

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
7, kemudian isi dengan kode berikut:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
8

Setelah itu, coba eksekusi:

Cara menggunakan mysql router max connections

Dari hasil output ini, kita dapat mengetahui kalau variabel

var db = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: ""
});
2 adalah sebuah array yang berisi objek dari tiap baris atau data.

Biar tampilannya semakin bagus, coba ubah kodenya menjadi seperti ini:

nodejs-mysql/
├── create_db.js
├── create_table.js
├── db_config.js
├── delete.js
├── insert.js
├── insert_multi.js
├── read.js
└── update.js
9

Setelah itu, coba eksekusi lagi.

Cara menggunakan mysql router max connections

Update Data MySQL dengan Nodejs

Berikutnya kita akan coba mengubah data dengan query

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'dian'@'localhost' (using password: YES)
9. Caranya sama, tinggal kita ubah query-nya saja.

Silahkan buat file baru dengan nama

CREATE DATABASE nama_database;
0, kemudian isi dengan kode berikut:

npm install mysql
0

Pada kode sql, kita akan mengubah alamat untuk data yang id-nya sama dengan

CREATE DATABASE nama_database;
1. Dalam kasus ini data yang ber-id
CREATE DATABASE nama_database;
1 adalah Starbucks.

Mari kita coba eksekusi.

Cara menggunakan mysql router max connections

Lihat, alamatnya berubah dari

CREATE DATABASE nama_database;
3 menjadi
CREATE DATABASE nama_database;
4.

Hapus Data MySQL dengan Nodejs

Hapus data sama seperti update data, yaitu menggunakan query WHERE untuk memilih data yang akan dihapus.

Mari kita coba…

Buatlah file baru bernama

CREATE DATABASE nama_database;
5, kemudian isi dengan kode berikut:

npm install mysql
1

Lalu coba eksekusi.

Cara menggunakan mysql router max connections

Apa Selanjutnnya?

Selamat…kamu sudah belajar menggunakan database MySQL di Nodejs.

Intinya, kita harus paham query MySQL-nya. Karena tanpa ini, kita tidak akan bisa menggunakan MySQL di Nodejs.

Kita sudah coba query untuk membuat database, membuat tabel, insert data, baca data, update, dan delete.

Ini merupakan query dasar yang harus dipahami.

Untuk query yang lainnya, silahkan coba sendiri. Karena masih banyak lagi query tingkat lanjut yang perlu dicoba, seperti

CREATE DATABASE nama_database;
6,
CREATE DATABASE nama_database;
7,
CREATE DATABASE nama_database;
8, dll.