Belajar Database Relational menggunakan SQL Lite bagian 2 difokuskan pada operasi SQL yang sering dijumpai pada umumnya yaitu CRUID. Pada pembahasan Belajar Database Relational SQL Lite Bagian 1 kita sudah belajar mengenai install, set path, serta memberikan perintah di CLI Sqlite3, selanjutnya kita akan membahas mengenai CRUID yaitu melibatkan operasi Create, Read, Update/Insert, dan Delete.
Belajar Database Relational menggunakan SQL Lite bagian 2 hanya melibatkan 1 tabel saja sehingga operasi CRUID dapat kalian pahami dengan baik. Hal yang perlu kalian pahami mengenai tabel yaitu adanya sebuah primary key dan foregin key. Primary key adalah kolom yang bersifat unik isinya, misalkan NIP adalah hal unik setiap orang dan tidak mungkin sama. Agar lebih mudah, kita ikuti saja aturan berikut
- nama tabel harus huruf kecil semua dan dipisahkan dengan underscore
- tidak boleh didahului dengan angka
- tidak boleh mengandung simbol
Data type Sqlite ada 5 macam
- TEXT
- NUMERIC
- INTEGER
- REAL
- BLOB
Uniknya Sqlite sampai postingan ini ditulis yaitu tidak mendukung format date sehingga jika ingin menyimpan date maka pilih saja text. Yuk ikuti saja Belajar Database Relational menggunakan SQL Lite Bagian 2 dibawah ini
Sqlite Create Table
Contents
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)
- Id_biodata: integer, primary key, auto increment
- nama: string
- kota: string
- 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
- order by
- select distinct
- limit
- between
- in
- like
- group by
Kita akan pelajari dulu yang ke 7 fitur diatas. Ikuti terus yaa
Sqlite Order By
Perintah oder by digunakan untuk mengurutkan berdasarkan kolom tertentu, misalkan sesuai urutan abjad dari kota, sehingga nama kota teratas jepara
SELECT kota,nama,tanggal_lahir FROM kontak ORDER BY kota ASC;
hasil
jepara|galih|7|06/12/1988 kediri|farah|6|31/12/2000 kendari|cucup|3|09/09/1988 makasar|deden|4|01/07/1986 pati|bejo|8|09/12/1989 semarang|agus|1|04/06/1988 solo|bejo|2|01/11/2000 surabaya|eko|5|08/09/2001
Sqlite Select Distinct
Perintah distinct digunakan untuk menampilkan/seleksi yang unik atau dalam kata lain menghilangkan duplikasi. Berdasarkan nama pada tabel kontak terdapat nama yang sama yaitu bejo. Maka kita ingin menghilangkan nama-nama yang sama sehingga dari 8 records hanya akan tampil 7 saja
SELECT DISTINCT nama FROM kontak;
hasil
agus bejo cucup deden eko farah galih
Ikuti terus postingan Yuk Belajar Database Relational menggunakan SQL yaitu SQLite Delete