MySQL

  • Post
    codeorayo
    Keymaster
    none
    Kalau anda terbiasa dengan bahasa pemrograman PHP maka pasti sudah tidak asing lagi dengan database relasional yang paling banyak di pakai saat ini yaitu MySQL.

    Module MYSQL dapat didownload di https://www.npmjs.com/package/mysql” class=”bbcode_url”>https://www.npmjs.com/package/mysql

    Implementasi driver dari MySQL untuk platform Node.jssudah sangat mature seperti modul node-mysql di https://github.com/felixge/node-mysql/

    InstalasiSeperti biasa untuk menginstall modul ini dan secara otomatis menyimpan nama & versi modul di file 

    Code:

    package.json

     yaitu dengan memakai perintah berikut

    Code:

    $ npm install –save mysql

    Koneksi SederhanaUntuk membuat koneksi ke database MySQL salah satu caranya adalah dengan menggunakan metode 

    Code:

    connection.connect()


    Code:

    //app.jsvar mysql = require(‘mysql’);

    /**
    * Setting opsi dari connection,
    * lihat https://github.com/felixge/node-mysql/
    */
    var connection = mysql.createConnection({
    host: ‘localhost’,
    user: ‘root’,
    password: ”
    });

    //Membuka koneksi ke database MySQL
    connection.connect(function(err){
    if(err) {
    console.log(err);
    } else {
    console.log(‘Koneksi dengan id ‘+ connection.threadId);
    }
    });

    // Query bisa dilakukan di sini

    //Menutup koneksi
    connection.end(function(err){
    if(err) {
    console.log(err);
    } else {
    console.log(‘koneksi ditutup!’);
    }
    });

    QueryIstilah 

    Code:

    query

     mungkin menurut mindset umum artinya adalah mengambil data dari database tetapi dalam modul node-mysql ini untuk membuat database atau schema juga didefiniskan sebagai 

    Code:

    query

    . Ada beberapa bentuk fungsi untuk wrapper 

    Code:

    query


    Code:

    connection.query(sqlString, callback)


    Dengan memakai statemen SQL kita bisa membuat schema database ebook seperti berikut

    Code:

    var create_db = ‘CREATE DATABASE IF NOT EXISTS ebook’connection.query(create_db, function(err, result){
    if(err){
    console.log(err);
    } else {
    console.log(result);
    }
    )

    Code:

    connection.query(sqlString, value, callback)


    Misalnya untuk menyimpan data semua judul buku pada database ebook

    Code:

    var ebook = { id: 1,
    title: ‘Wiro Sableng Pendekar Kapak Maut Naga Geni 212 : Batu Tujuh Warna’,
    pengarang: ‘Bastian Tito’
    }

    var insert_sql = ‘INSERT INTO ebook SET ?’;

    connection.query(insert_sql, ebook, function(err, result){
    err ? console.log(err): console.log(result);
    })

    Kalau dibutuhkan 

    Code:

    escaping

     value sebelum dimasukkan ke database MySQL bisa memakai metode 

    Code:

    .escape()

     atau pake placeholder 

    Code:

    ?

    .

    Code:

    var ebook = { id: 1,
    title: ‘Wiro Sableng Pendekar Kapak Maut Naga Geni 212 : Batu Tujuh Warna’,
    pengarang: ‘Bastian Tito’
    }

    var insert_sql = ‘UPDATE ebook SET title = ? WHERE id = ?’;

    connection.query(insert_sql, [ebook.title, ebook.id], function(err, result){
    err ? console.log(err): console.log(result);
    })

    Code:

    connection.query(options, callback)


    Bentuk wrapper 

    Code:

    query

     yang terakhir ini cukup ringkas. Sesuaikan saja mana bentuk wrapper yang sesuai dengan kebutuhan anda.

    Code:

    var ebook = { sql: ‘INSERT INTO ebook SET pengarang = ?’,
    timeout: 14000,
    values: [‘Pramoedya Ananta Toer’]
    }

    connection.query(ebook, function(err, result, fields){
    if(err) {
    console.log(err);
    } else {
    console.log(result);
    }
    })

    Metode 

    Code:

    query

     ini sangat fleksibel dan pada intinya kita bisa memakai statemen SQL yang biasa dipakai untuk query data di MySQL. Jadi penggunaan dari modul npm ini sebenarnya cukuplah mudah.

    Untuk penggunaan modul npm ini lebih lanjut silahkan kunjungi Github node-mysql dan untuk contoh aplikasi yang memanfaatkan database ini bisa dilihat pada bab Pengubah Gambar PNG Ke Data URI.

    https://idjs.github.io/belajar-nodejs/database/mysql.html

  • You must be logged in to reply to this topic.