Cara menggunakan javascript connect to database

To access a MySQL database with Node.js, you need a MySQL driver. This tutorial will use the "mysql" module, downloaded from NPM.

To download and install the "mysql" module, open the Command Terminal and execute the following:

C:\Users\Your Name>npm install mysql

Now you have downloaded and installed a mysql database driver.

Node.js can use this module to manipulate the MySQL database:

var mysql = require('mysql');



Create Connection

Start by creating a connection to the database.

Use the username and password from your MySQL database.

demo_db_connection.js

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword"
});

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

Run example »

Save the code above in a file called "demo_db_connection.js" and run the file:

Run "demo_db_connection.js"

C:\Users\Your Name>node demo_db_connection.js

Which will give you this result:

Now you can start querying the database using SQL statements.


Query a Database

Use SQL statements to read from (or write to) a MySQL database. This is also called "to query" the database.

Untuk koneksi ke database MySQL cukup mudah seperti yang telah dibahas pada bab sebelumnya tentang Node dan Database MySQL.

/**
 * todatauri.js dengan Mysql
 *
 *
 * WTFPL
 * Equan Pr.
 * 2015
 */
var Util = require('./todatauri.js');
var mysql = require('mysql');

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

connection.connect(function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log('Koneksi MySQL dengan id ' + connection.threadId);
    }
});

var create_database = 'CREATE DATABASE IF NOT EXISTS data_uri ';
var create_table = "CREATE TABLE IF NOT EXISTS data_uri.images (id INT AUTO_INCREMENT PRIMARY KEY, data TEXT)";

connection.query(create_database, function (err, res) {
    if (err) {
        console.log(err);
    } else {
        console.log('Create database data_uri [ok]');

        connection.query(create_table, function (err, result) {
            if (err) {
                console.error(err);
            } else {
                console.log('Create table images [ok]');
                main(process);
            }
        })
    }
});

function insertData(data, connection) {
    connection.query('INSERT INTO data_uri.images SET ?', { data: data }, function (err, res) {
        if(err) { 
            console.log(err);
        } else {
            console.log(res);
            closeConnection();
        }
    })
};

function showData(connection) {
    connection.query('SELECT * FROM data_uri.images', function(err, result){
        if(err) {
            console.log(err);
        } else {
            console.log('\n\nMySQL Database\n============================\n');
            result.forEach(function(element, index){

                console.log('id \u2192', element.id);
                console.log('image \u2192', element.data);
            });

            closeConnection();
        } 
    })
}

function main(process) {
    if (process.argv[2]) {
        if (process.argv[2].toLowerCase().trim() == 'show') {
          showData(connection);
        } else {
            Util.toDataURI(process.argv[2], function (err, data) {
                if (!err) {
                    insertData(data, connection);
                }
            })
        }
    } else {
        Util.toDataURI(null, function (err, data) {
            if (!err) {
                console.log(data);
                closeConnection();
            }
        });
    }
}

function closeConnection(){
    connection.end(function(err){
       if(err) {
           console.log(err);
        }
    });
}

Parsing argumen dilakukan oleh process yang merupakan object global di Node.js. Perlu diingat bahwa JavaScript memulai array dengan index 0 sehingga argumen yang diperlukan berada pada index 2

process.argv[2]

Jika anda berada pada platform UNIX atau GNU LINUX script diatas bisa dirubah untuk self executable dengan menambahkan script berikut pada line 1 di file tdi.js

#!/usr/bin/env node

Kemudian untuk menjalankannya cukup mudah seperti berikut

$ ./tdi.js

Script tdi.js sebenarnya cukup sederhana dan cukup untuk melakukan tugas yang di inginkan. Mungkin kelihatan agak rumit karena banyak callback di sana sini tetapi kalau anda sudah terbiasa memprogram secara asinkron pasti mudah sekali untuk melihat kode diatas.

Penulis sarankan untuk ke depannya jika diinginkan penulisan tanpa callback bisa dipelajari tentang

process.argv[2]
0 JavaScript ES6.