SQL

Go menyediakan package database/sql untuk dapat menggunakan SQL pada Go. Kita perlu untuk menginstal driver database baik itu MySQL , sqlite , postgres , dan lainnya pada local komputer kita dan juga pada aplikasi Go.

Untuk driver database kita memerlukan package external. Kamu dapat menginstal sesuai dengan driver yang ingin digunakan. Pada sesi ini kita akan menggunakan driver database MySQL.

Instalasi Driver

Kita akan menggunakan package database driver MySQL. Silahkan melakukan instalasi pada aplikasi Go yang sudah dibuat:

go get -u github.com/go-sql-driver/mysql

Setup Database

Untuk menjalankan database SQL dengan driver MySQL, pastikan kamu telah menginstal MySQL pada local komputer. Setelah itu kita bisa mengakses MySQL melalui command line ataupu GUI seperti Dbeaver dan Sequel Pro.

Pada contoh ini kita akan menggunakan command line untuk memanipulasi data query SQL.

Untuk mengakses MySQL , ketik perintah berikut ini:

mysql -u root -p

Selanjutnya masukkan query berikut ini untuk membuat sebuah database bernama goschool :

CREATE DATABASE goschool;

Kita juga harus memilih database yang ingin digunakan:

USE goschool;

Selanjutnya kita akan membuat table dan column serta memasukkan beberapa data:

CREATE TABLE IF NOT EXISTS students (
  id int(5) NOT NULL AUTO_INCREMENT,
  fullname varchar(255) NOT NULL,
  age int(11) NOT NULL,
  batch varchar(100) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO students (id, fullname, age, batch) VALUES
(1, 'Wisma Eka', 24, 'adorable'),
(2, 'Yudis', 22, 'brilliant'),
(3, 'Sukisno', 35, 'creative'),
(4, 'Guntur', 30, 'dilligent');

Membaca data dari MySQL Server

Kita sudah memiliki data pada database MySQL yaitu table students yang berisi 4 baris data. Selanjutnya kita akan membaca dan menampilkan data dari MySQL Server.

Kita perlu mengimport package database/sql dan juga _ "github.com/go-sql-driver/mysql" . Kita lihat ada tanda _ yang berarti package tersebut kita butuhkan namin tidak kita gunakan secara langsung pada kode kita.

Selanjutnya kita akan membuat struct yang menggambarkan struktur data kita pada table database:

Kita butuh untuk memastikan terlebih dahulu aplikasi Go kita telah terhubung dengan MySQL server. Untuk itu kita akan membuat fungsi connect() dan menggunakan fungsi sql.Open untuk meregistrasi data MySQL server yang kita gunakan:

Selanjutnya kita akan mencoba menampilkan data pada table students di dalam fungsi sqlQuery :

Kode lengkapnya akan menjadi seperti di bawah ini:

Jika program di atas kita jalanka maka akan terlihat output program seperti berikut ini:

Data yang diambil dari database

Membaca 1 Record Data Menggunakan Method QueryRow()

Jika kita membutuhkan 1 record data, kita bisa menggunakan method QueryRow yang lebih singkat secara kode seperti berikut ini:

Data yang diambil dari database

INSERT, UPDATE, dan DELETE

Untuk melakukan proses INSERT , UPDATE , dan DELETE kita bisa menggunakan fungsi exec karena fungsi ini jika dijalankan tidak akan mengembalikan data row pada database.

Jika program di atas dijalankan maka akan menampilkan output berikut ini:

Menjalankan query menggunakan fungsi Exec

Last updated

Was this helpful?