Pendahuluan
SQLite adalah database engine populer yang dikenal karena kesederhanaan dan efisiensinya dalam mengelola database relasional. SQLite merupakan database engine SQL tertanam (embedded), artinya sering digunakan langsung di dalam aplikasi sebagai solusi database yang ringan tanpa memerlukan proses server terpisah. Dalam tutorial ini, kita akan membahas cara melihat daftar tabel di database SQLite, tugas yang umum dilakukan saat Anda mempelajari struktur database yang sudah ada atau sedang melakukan debugging.
Prasyarat
Anda perlu memasang SQLite dan memastikan SQLite dapat diakses. Anda bisa berinteraksi dengan database SQLite melalui berbagai cara, seperti command line, skrip Python, atau tool GUI seperti Beekeeper Studio. Panduan ini menggunakan tool command-line SQLite karena tersedia di mana saja.
Mengakses Database SQLite
Untuk memulai, buka terminal atau command prompt Anda dan akses database SQLite menggunakan tool command-line SQLite. Perintah umum untuk mulai berinteraksi dengan database Anda adalah:
sqlite3 your_database_file.db
Ganti ‘your_database_file.db’ dengan path ke file database SQLite Anda.
Menampilkan Daftar Tabel dengan Perintah .tables
SQLite menyediakan perintah .tables sebagai cara mudah untuk menampilkan semua tabel yang tersedia di database aktif Anda.
Dari shell command-line SQLite, masukkan perintah berikut:
.tables
Dengan menjalankan perintah ini, SQLite akan menampilkan daftar semua nama tabel di database Anda saat ini.
Output yang Diharapkan: (menggunakan contoh database ‘sakila.db’)
actor experiments payment
address film rental
category film_actor sales_by_film_category
city film_category sales_by_store
country film_list staff
customer film_text staff_list
customer_list inventory store
events language
Bagaimana cara kerja perintah .tables?
SQLite menginstruksikan database untuk mengembalikan nama semua tabel dan view di database utama maupun database yang terlampir (attached). Di balik layar, hal ini dilakukan dengan menjalankan perintah SELECT pada tabel sqlite_master.
Melakukan Query pada Tabel sqlite_master
Untuk kontrol yang lebih besar, Anda bisa melakukan query langsung ke tabel ‘sqlite_master’, yang menyimpan metadata database, termasuk definisi tabel.
Contohnya:
SELECT name FROM sqlite_master WHERE type='table';
Perintah SQL ini memilih semua record di kolom name pada tabel sqlite_master yang type-nya adalah ‘table’.
Output yang Diharapkan: (menggunakan contoh database ‘sakila.db’)
---------------
actor
sqlite_sequence
country
city
address
language
category
customer
film
film_actor
film_category
film_text
inventory
staff
store
payment
rental
experiments
events
Menampilkan Skema Tabel dengan Perintah .schema
Untuk memeriksa struktur atau ‘skema’ tabel Anda (yaitu kolom-kolom tabel beserta tipe datanya), SQLite menyediakan perintah .schema:
.schema your_table_name
Output yang Diharapkan: (menggunakan tabel ‘actor’ di contoh database ‘sakila.db’)
CREATE TABLE actor (
actor_id integer PRIMARY KEY AUTOINCREMENT NOT NULL,
first_name VARCHAR(45) NOT NULL,
last_name VARCHAR(45) NOT NULL,
last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
, "email_address" VARCHAR(255) NULL);
CREATE INDEX idx_actor_last_name ON actor(last_name)
;
CREATE TRIGGER actor_trigger_ai AFTER INSERT ON actor
BEGIN
UPDATE actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid;
END;
CREATE TRIGGER actor_trigger_au AFTER UPDATE ON actor
BEGIN
UPDATE actor SET last_update = DATETIME('NOW') WHERE rowid = new.rowid;
END;
Ganti ‘your_table_name’ dengan nama tabel Anda.
Perintah ini akan menampilkan statement CREATE TABLE yang digunakan untuk membuat tabel tersebut di database Anda.
Menggunakan Statement SQL SELECT
Sebagai alternatif, Anda bisa mengambil skema menggunakan statement SELECT pada tabel sqlite_master:
SELECT sql FROM sqlite_master WHERE name = 'your_table_name';
Perintah ini akan menampilkan statement CREATE TABLE yang sama seperti perintah .schema, tetapi tanpa statement ‘INDEX’ dan ‘TRIGGER’.
Menggunakan Perintah PRAGMA untuk Mendapatkan Info Tabel
Pendekatan lain di SQLite adalah menggunakan perintah PRAGMA, yang menyediakan berbagai karakteristik database SQLite. Salah satu perintah PRAGMA yang berguna adalah ‘table_info’, yang dapat digunakan untuk mendapatkan informasi tentang kolom-kolom dalam sebuah tabel.
Meskipun ‘table_info’ tidak menampilkan semua tabel, perintah ini dapat digunakan bersama perintah daftar tabel untuk langsung memahami struktur tabel setelah menemukan namanya.
Contoh:
PRAGMA table_info('actor');
Output yang Diharapkan: (menggunakan tabel ‘actor’ di contoh database ‘sakila.db’)
cid name type notnull dflt_value pk
--- ------------- ------------ ------- ----------------- --
0 actor_id INTEGER 1 1
1 first_name VARCHAR(45) 1 0
2 last_name VARCHAR(45) 1 0
3 last_update TIMESTAMP 1 CURRENT_TIMESTAMP 0
4 email_address VARCHAR(255) 0 0
Setiap baris mewakili satu kolom di tabel ‘actor’, dengan field yang masing-masing menunjukkan ‘cid’, ‘name’, ‘type’, status ‘not null’, ‘default value’, dan informasi ‘primary key’ dari kolom tersebut.
Kesimpulan
Menampilkan daftar tabel di SQLite adalah keterampilan dasar untuk pengelolaan dan inspeksi database. Baik Anda menggunakan perintah .tables untuk daftar cepat, melakukan query pada tabel sqlite_master untuk pendekatan yang lebih terprogram, atau menggunakan statement PRAGMA untuk mengumpulkan informasi detail tentang struktur tabel, SQLite menawarkan beragam tool untuk membantu Anda memahami dan berinteraksi dengan database secara efektif.
Meskipun memahami dan menulis perintah SQL untuk melihat tabel SQLite bisa jadi memuaskan, prosesnya juga bisa memakan waktu dan rumit, terutama saat menangani database yang sangat besar.
Beekeeper Studio menyediakan antarmuka yang ramah pengguna untuk tabel-tabel di database Anda, sehingga navigasi di antara banyak tabel menjadi lebih praktis.
Selain itu, untuk melihat skema tabel apa pun, cukup klik nama tabelnya, dan skema akan muncul dalam format yang tertata rapi.
Beekeeper Studio Adalah GUI SQLite Gratis & Open Source
Inilah yang saya butuhkan. UI-nya responsif dan bersih, bekerja sesuai keinginan dan harapan saya, dan menyelesaikan pekerjaan dengan baik. Ini alat yang sempurna untuk mengelola database SQLite saya. - Andy
Beekeeper Studio adalah client SQLite yang cepat, intuitif, dan mudah digunakan. Ia juga mendukung banyak database lain, dan berjalan mulus di Windows, Mac, dan Linux.
Apa Kata Pengguna SQLite tentang Beekeeper Studio
Saya tidak pernah benar-benar memahami cara kerja desain model sampai saya mulai menggunakan ini untuk menjalankan query dan melihat database! Saya bersyukur menemukannya dalam perjalanan belajar saya. Saya merekomendasikannya bagi yang sedang belajar Django + sqlite, karena sejauh ini hanya itu yang saya gunakan dengannya.
Dua hal utama. Pertama, konektivitas. Saya tidak perlu lagi memakai DB Browser for SQLite, MySQL Workbench untuk MySQL, psql untuk PostgreSQL. Beekeeper bisa menangani semuanya. Kedua: AI. Fitur AI-nya mengubah bahasa Inggris menjadi SQL.