“SQLite” merupakan sistem manajemen basis data relasional yang bersifat serverless dan bersifat self-contained. Ini berarti tidak memerlukan server terpisah dan hanya memerlukan sedikit atau bahkan tidak ada konfigurasi.
Berikut adalah beberapa poin utama tentang SQLite:
1. Ringkas dan Serverless:
- Self-contained: Basis data SQLite adalah file tunggal yang mudah dipindahkan dan berdiri sendiri.
- Serverless: Tidak memerlukan server terpisah. Aplikasi langsung berinteraksi dengan basis data SQLite.
2. Tipe Data:
- Mendukung tipe data umum seperti INTEGER, TEXT, REAL, BLOB, dan NULL.
- Tipe data tidak perlu didefinisikan secara eksplisit, karena SQLite bersifat dinamis dalam menangani tipe data.
3. Query Language:
- Menggunakan SQL (Structured Query Language) untuk melakukan operasi basis data seperti SELECT, INSERT, UPDATE, DELETE, dan lainnya.
4. Transaksi:
- Mendukung transaksi untuk memastikan konsistensi basis data.
- Transaksi dapat di-commit atau di-rollback.
5. Indeks dan Kunci Asing:
- Dapat membuat indeks pada kolom-kolom untuk meningkatkan kinerja pencarian.
- Mendukung pembuatan kunci asing untuk menjaga integritas referensial antar tabel.
6. Portabilitas:
- SQLite dapat dijalankan di berbagai platform termasuk Windows, Linux, macOS, dan lainnya.
- Mendukung banyak bahasa pemrograman seperti Python, Java, C++, dll.
7. Kelebihan dan Keterbatasan:
- Kelebihan: Mudah diimplementasikan, ringkas, cepat, dan tidak memerlukan konfigurasi server yang rumit.
- Keterbatasan: Tidak sesuai untuk skenario yang membutuhkan skala besar dan banyak koneksi bersamaan.
Contoh Penggunaan:
Berikut ini adalah contoh sederhana untuk membuat tabel dan melakukan beberapa operasi dasar dengan SQLite menggunakan SQL:
-- Membuat tabel
CREATE TABLE Mahasiswa (
id INTEGER PRIMARY KEY,
nama TEXT,
umur INTEGER
);
-- Menyisipkan data
INSERT INTO Mahasiswa (nama, umur) VALUES ('John Doe', 25);
-- Memperbarui data
UPDATE Mahasiswa SET umur = 26 WHERE nama = 'John Doe';
-- Mengambil data
SELECT * FROM Mahasiswa;
SQLite sangat berguna untuk aplikasi sederhana atau skala kecil, seperti aplikasi mobile, perangkat lunak desktop, dan proyek-proyek kecil lainnya.