Cara menggunakan mysql features

Untuk mengenerate menjadi file .sql pilih File–>Export–>Forward Engineer SQL Create Script .Dan seperti ini hasilnya

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
USE `mydb` ;

-- -----------------------------------------------------
-- Table `mydb`.`Pelanggan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pelanggan` (
  `idPelanggan` INT NULL ,
  `Nama` VARCHAR(25) NOT NULL ,
  `Alamat` VARCHAR(35) NOT NULL ,
  `NoTelp` INT NULL ,
  PRIMARY KEY (`idPelanggan`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Pesan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pesan` (
  `idPesan` INT NULL ,
  `TglPesan` DATE NOT NULL ,
  `Pelanggan_idPelanggan` INT NOT NULL ,
  PRIMARY KEY (`idPesan`) ,
  INDEX `fk_Pesan_Pelanggan_idx` (`Pelanggan_idPelanggan` ASC) ,
  CONSTRAINT `fk_Pesan_Pelanggan`
    FOREIGN KEY (`Pelanggan_idPelanggan` )
    REFERENCES `mydb`.`Pelanggan` (`idPelanggan` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`DaftarMenu`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`DaftarMenu` (
  `idMenu` INT NULL ,
  `Nama` VARCHAR(25) NOT NULL ,
  `Jenis` VARCHAR(12) NOT NULL ,
  `Harga` INT NOT NULL ,
  PRIMARY KEY (`idMenu`) )
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `mydb`.`Pemesanan`
-- -----------------------------------------------------
CREATE  TABLE IF NOT EXISTS `mydb`.`Pemesanan` (
  `idMenu` INT NOT NULL ,
  `idPesan` INT NOT NULL ,
  `JumlahPesan` INT NOT NULL ,
  `TotalHarga` INT NOT NULL ,
  PRIMARY KEY (`idMenu`, `idPesan`) ,
  INDEX `fk_DaftarMenu_has_Pesan_Pesan1_idx` (`idPesan` ASC) ,
  INDEX `fk_DaftarMenu_has_Pesan_DaftarMenu1_idx` (`idMenu` ASC) ,
  CONSTRAINT `fk_DaftarMenu_has_Pesan_DaftarMenu1`
    FOREIGN KEY (`idMenu` )
    REFERENCES `mydb`.`DaftarMenu` (`idMenu` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_DaftarMenu_has_Pesan_Pesan1`
    FOREIGN KEY (`idPesan` )
    REFERENCES `mydb`.`Pesan` (`idPesan` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Sebenarnya masih banyak feature lainnya yang menarik,tapi pada posting kali ini saya baru memberikan beberapa saja.

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 features

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 features

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 features

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 features

Databasenya berhasil dibuat.

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

Cara menggunakan mysql features

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 features

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 features

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 features

…dan coba cek lagi di Phpmyadmin.

Cara menggunakan mysql features

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 features

…dan sekarang coba cek lagi Phpmyadmin.

Cara menggunakan mysql features

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 features

…dan coba lihat lagi data di Phpmyadmin.

Cara menggunakan mysql features

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 features

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 features

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 features

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 features

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.

Langkah langkah menjalankan program database MySQL?

MySQL Membuat Database dan Table.
Buka command prompt dengan cara tekan ctrl + R keudian ketik cmd lalu enter..
Buka MySQL dengan cara mengetikan cd AppServ\MySQL\bin\MySQL..
Bila meminta password, masukkan password yang kalian buat (tapi biasanya password defaultnya “root”).

MySQL bisa digunakan untuk apa saja?

Kegunaan atau fungsi MySQL adalah untuk data warehousing (gudang data), yaitu pengumpulan data dari berbagai sumber, untuk e-commerce, maupun aplikasi logging.

3 Apakah cara tercepat untuk mengakses database melalui MySQL client?

Cara paling cepat untuk memulai MySQL Client adalah dengan menggunakan Command Line Client. Aplikasi ini bisa diakses dari menu Start –> MySQL –> MySQL 8.0 Command Line Client.

Fitur apa sajakah yang ada pada MySQL database?

Fitur-fitur MySQL:.
Scalability. MySQL saat ini dapat menangani database yang cukup besar. ... .
2.Portability. Beberapa sistem operasi yang dapat menjalankan MySQL: Unix, Linux, Windows, OS/2, Solaris, dan MacOS. ... .
3.Connectivity. ... .
Security. ... .
Speed. ... .
Ease of Use. ... .
Open Source Code..