Yuk Belajar Database Relational menggunakan SQL Lite

By | July 31, 2020
Print Friendly, PDF & Email

www.softscients.com | Sqlite merupakan sebuah aplikasi/tools/software untuk membuat database relational. Sqlite dibuat menggunakan bahasa C/C++, karena sifatnya yang portable, lite sehingga banyak sekali API Sqlite sudah banyak dikembangkan untuk interface bahasa pemrograman umum seperti C#, java, Python, ruby, php, android. Bahkan seperti android, python, dan firefox menggunakan sqlite untuk menyimpan file dalam bentuk database relational. Kalau kalian suka menggunakan produk microsoft, maka office acces adalah salah satu contoh aplikasi berbasis GUI untuk membuat database relational.

Download dan Setup

Sqlite ditulis menggunakan bahasa C/C++ sehingga pada awalnya hanya mendukung interaksi berbasis CLI (command line interface), saat ini sqlite sudah mencapai versi 3.32.3 (release 18 juni 2020), yang bisa kalian download di https://www.sqlite.org/download.html, tapi kalian jangan bingung karena ada banyak versi mengingat Sqlite adalah opensource. Bagi pengguna linux/windows/mac langsung saja download yang ada keterangan command-line tools.

Hasil extract ada 3 file yaitu

  1. Sqldiff berguna untuk menunjukan perbedaan versi pada sebuah file database
  2. Sqlit3 berguna untuk membuat, membuka, dan modifikasi database relational
  3. Sqlite3_analyzer berguna untuk menampilkan informasi datail dari file database seperti storage

Agar sqlite3.exe bisa diakses lebih lewat command prompt, maka perlu setting path. Caranya sangat mudah, yaitu copy paste kan 3 file diatas pada sebuah direktori C:/sqlite, langkahnya sama seperti di link berikut https://softscients.com/2020/06/18/buku-pemrograman-python-cara-install-modul-di-python/  yaitu agar membuat pip.exe dikenali oleh sistem, jadi ikuti saja langkah-langkah yang ada di link tersebut, hanya saja ditambah dengan lokasi di C:/sqlite

Mencoba Sqlite3 CLI

Pastikan kalian sudah melakukan langkah-langkah diatas, sesudah itu bukalah command prompt dan ketikan sqlite3, bila tampil seperti berikut maka sudah berhasil melakuan setup path.

Beberapa perintah diawali dengan titik, misalkan  untuk mengetikan perintah help, maka perintah yang digunakan

.help

Tipe data

Secara umum database akan terdiri dari beberapa table yang saling terhubung dengan primary key dan foreign key, oiya untuk tipe data yang didukung oleh sqlite yaitu

  1. TEXT.
  2. NUMERIC.
  3. INTEGER.
  4. REAL.
  5. BLOB.

Saat ini memang ada sedikit kekurangan yang cukup fatal di Sqlite yaitu tidak mempunyai tipe data date sehingga cukup merepotkan kalau bekerja dengan tabel yang melibatkan transaksi, tapi baca saja sampai selesai untuk menyiasati data bertipe date

Kita akan membuat sebuah operasi dasar tanpa melibatkan relational terlebih dahulu yaitu hanya CRUD

  1. Create yaitu membuat database dan table
  2. Read yaitu membaca ta
  3. Update, dan
  4. Delete

Tentunya menggunakan perintah CLI dan Query yang ada di sqlite agar kita paham cara kerja perintah-perintah dasar query SQL.

Sqlite Create Table

Setiap tabel mempunyai informasi header dan tipe datanya, misalkan ada sebuah table dengan nama biodata mempunyai informasi header (sebaiknya menggunakan huruf kecil yang dipisahkan dengan underscore)

  1. Id_biodata: integer, primary key, auto increment
  2. nama: string
  3. kota: string
  4. tanggal_lahir: string

table biodata mempunyai isi sebagai berikut

Perintah .open digunakan untuk membuka / membuat database, oiya pastikan dulu current directory sebelum memanggil sqlitenya, misalkan pada contoh berikut berada di F:/sqlite akan membuat file database denga nama contoh-database.db

 .open contoh-database.db

Lebih jelasnya sebagai berikut

PS F:\Sqlite> sqlite3
SQLite version 3.32.3 2020-06-18 14:00:33
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> .open  contoh-database.db
sqlite>

Kemudian membuat sebuah table kontak sesuai dengan informasi header diatas

sqlite> CREATE TABLE kontak (
   ...> id_biodata int primary key,
   ...> nama text,
   ...> tanggal_lahir text,
   ...> kota text);

Jangan lupa tekan enter, untuk cek apakah table diatas sudah ada dalam database contoh-database.db, maka gunakan perintah .tables

sqlite> .tables

Adapun untuk mengetahui schema/struktur table, gunakan perintah  .schema nama_table, contohnya

sqlite> .schema kontak

hasil

CREATE TABLE kontak (
id_biodata int primary key,
nama text,
tanggal_lahir text,
kota text);

Pembuatan database dan schema table sudah kita pelajari sesuai dengan langkah-langkah diatas, hal selanjutnya yaitu operasi insert

SQLite Insert Data

Table kontak masih kosong, belum ada data masuk, perintah yang digunakan untuk memasukan record kedalam sebuah table

INSERT INTO table (column1,column2 ,..)
VALUES( value1,	value2 ,...);
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(1,'agus','04/06/1988','semarang');
sqlite>

Lakukan hal diatas untuk semua data seperti berikut

sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(2,'bejo','01/11/2000','solo');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(3,'cucup','09/09/1988','kendari');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(4,'deden','01/07/1986','makasar');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(5,'eko','08/09/2001','surabaya');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(6,'farah','31/12/2000','kediri');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(7,'galih','06/12/1988','jepara');
sqlite> INSERT INTO kontak(id_biodata,nama,tanggal_lahir,kota)
   ...> VALUES(8,'bejo','09/12/1989','pati');

SQLite Select Data

Untuk menampilkan isi sebuah table, gunakan perintah select

SELECT (column1,column2 ,..) FROM table;

Contoh untuk menampilkan kolom nama pada table kontak

sqlite> SELECT nama FROM KONTAK;
agus
bejo
cucup
deden
eko
farah
galih
bejo
sqlite>

Sedangkan untuk menampilkan semua kolom cukup diberikan simbol asterik

sqlite> SELECT * FROM kontak;
1|agus|04/06/1988|semarang
2|bejo|01/11/2000|solo
3|cucup|09/09/1988|kendari
4|deden|01/07/1986|makasar
5|eko|08/09/2001|surabaya
6|farah|31/12/2000|kediri
7|galih|06/12/1988|jepara
8|bejo|09/12/1989|pati
sqlite>

Selain itu, bisa juga menampilkan record dengan syarat kondisi, yaitu WHERE

SELECT
   column_list
FROM
   table
WHERE
   search_condition;

Syarat kondisi yang bisa digunakan yaitu

WHERE column_1 = 100;

WHERE column_2 IN (1,2,3);

WHERE column_3 LIKE 'An%';

WHERE column_4 BETWEEN 10 AND 20;

Misalkan hanya ingin memilih nama = ‘bejo’

sqlite> SELECT * FROM kontak WHERE nama='bejo';
2|bejo|01/11/2000|solo
8|bejo|09/12/1989|pati

Menampilkan kota yang didahului huruf s

sqlite> SELECT * FROM kontak WHERE kota LIKE 's%';
1|agus|04/06/1988|semarang
2|bejo|01/11/2000|solo
5|eko|08/09/2001|surabaya

Sqlite Update data

Update data membutuhkan sebuah id unik atau disebut dengan primary key, pada tabel diatas terdapat nama yang sama yaitu bejo dengan id 2 dan 8. Nah yang akan kita ubah hanya id 8 dengan semula pati menjadi kediri dengan perintah SQL nya yaitu

UPDATE tableSET column_1 = new_value_1,
    column_2 = new_value_2WHERE
    search_condition 

Yuk buat update datanya

sqlite> UPDATE kontak SET kota ='kediri' where id_biodata = 8;

Kita cek lagi dengan perintah  select * from

sqlite> SELECT * FROM kontak;
1|agus|04/06/1988|semarang
2|bejo|01/11/2000|solo
3|cucup|09/09/1988|kendari
4|deden|01/07/1986|makasar
5|eko|08/09/2001|surabaya
6|farah|31/12/2000|kediri
7|galih|06/12/1988|jepara
8|bejo|09/12/1989|kediri
sqlite>

Sqlite Delete data

Perintah untuk delete hampir mirip-mirip dengan update yang membutuhkan syarat kondisi. Perintah SQL Delete secara umum yaitu

DELETE FROM table
WHERE search_condition;

Langsung saja kita coba untuk delete id_biodata = 8

sqlite> DELETE FROM kontak WHERE id_biodata=8;

Biar lebih yakin, cek lagi dengan perintah  sqlite> SELECT * FROM kontak; . Maka hanya akan terdiri dari 7 baris saja

1|agus|04/06/1988|semarang
2|bejo|01/11/2000|solo
3|cucup|09/09/1988|kendari
4|deden|01/07/1986|makasar
5|eko|08/09/2001|surabaya
6|farah|31/12/2000|kediri
7|galih|06/12/1988|jepara

Gimana menurut kalian? Sangat mudah bukan? Postingan diatas hanya sebagai dasar-dasar SQL yang hanya terdiri dari 1 table saja, selanjutnya kita akan bahas mengenai database relational seperti primary key, foreign key. Oiya ada beberapa perintah SQL yang sangat berguna pada proses SELECT yaitu

  1. order by
  2. select distinct
  3. limit
  4. between
  5. in
  6. like
  7. group by

Kita akan pelajari dulu yang ke 7 fitur diatas. Ikuti terus yaa

 

 

Ikuti terus postingan Yuk Belajar Database Relational menggunakan SQL yaitu SQLite Delete

Leave a Reply

Your email address will not be published. Required fields are marked *