Lewati ke konten utama

SQLite Show Tables: Panduan Lengkap untuk Menavigasi Basis Data

Jelajahi berbagai metode untuk membuat daftar tabel di basis data SQLite menggunakan baris perintah, kueri SQL, dan bahasa pemrograman seperti Python dan C.
· 9 mnt Baca

Jelajahi bersama AI

Menampilkan tabel di SQLite penting untuk navigasi dan pengelolaan basis data. Saat bekerja dengan basis data, menampilkan tabel membantu Anda memahami struktur basis data, terutama saat menangani data dengan relasi yang kompleks. Berbeda dengan MySQL yang menyediakan perintah SHOW TABLES yang sederhana, SQLite tidak memiliki metode tampilan tabel secara langsung. Namun, SQLite menawarkan beberapa cara alternatif untuk mencapai hasil yang sama.

Dalam tutorial ini, saya akan menunjukkan berbagai metode untuk menampilkan tabel di basis data SQLite, termasuk menggunakan perintah .tables, tabel sqlite_master, dan perintah PRAGMA.

Jawaban Singkat: Cara Menampilkan Tabel di SQLite

Di SQLite, Anda dapat dengan mudah mengambil nama tabel dalam sebuah basis data menggunakan perintah dan kueri sederhana. Dua metode langsung mencakup hal berikut.

  • .tables Command: Ini adalah perintah bawaan SQLite di shell baris perintah yang menampilkan semua tabel di basis data saat ini.

  • SQL Query pada sqlite_master: Anda juga dapat menjalankan kueri berikut untuk mengambil nama tabel:

SELECT name FROM sqlite_master WHERE type='table';

Ragam Metode untuk Menampilkan Tabel di SQLite

Sekarang mari kita lihat berbagai cara untuk menampilkan tabel di SQLite:

Menampilkan tabel menggunakan perintah .tables

Cara paling sederhana untuk menampilkan tabel di basis data SQLite adalah menggunakan perintah .tables. Berikut beberapa cara menggunakan perintah .tables.

Menampilkan semua tabel

Untuk menampilkan semua tabel dalam basis data, cukup jalankan perintah .tables di dalam antarmuka baris perintah (CLI). Metode ini langsung dan berguna saat Anda ingin melihat skema basis data.

.tables

Menggunakan pola

Perintah .tables juga mendukung pemfilteran melalui pola untuk memungkinkan tabel tertentu difilter. Anda dapat menentukan pola dengan perintah .tables menggunakan karakter wildcard seperti %. Teknik ini berguna saat Anda memiliki banyak tabel di basis data dan ingin memfilter yang spesifik.

Perintah di bawah ini hanya akan menampilkan tabel yang diawali dengan huruf "a," membantu Anda menyaring tabel yang tidak diperlukan.

.tables a%

Saya juga ingin memperjelas bahwa perintah .tables di shell SQLite menggunakan pola GLOB, bukan pola LIKE milik SQL. Perbedaan ini penting karena GLOB peka huruf besar/kecil dan menggunakan * dan ? sebagai wildcard, berbeda dengan % dan _ di SQL.

Tabel sementara

Perintah .tables juga memungkinkan Anda menampilkan tabel sementara di basis data. Saat menggunakan SQLite, Anda dapat membuat tabel sementara dengan pernyataan CREATE TEMPORARY TABLE, yang hanya ada selama sesi berlangsung. Dengan perintah .tables, Anda dapat menampilkan tabel sementara berdampingan dengan tabel biasa selama sesi masih aktif.

Menampilkan tabel menggunakan tabel sqlite_master

Tabel sqlite_master di SQLite adalah tabel sistem khusus yang menyimpan metadata tentang skema basis data, termasuk tabel, indeks, view, dan trigger. Metode ini menawarkan kontrol dan fleksibilitas lebih saat membuat daftar tabel dibanding perintah .tables, memungkinkan Anda menyesuaikan kueri, menerapkan filter, dan mengambil jenis tabel tertentu. Berikut adalah cara menggunakan tabel sqlite_master.

Mengkueri nama tabel

Untuk mengambil nama tabel dari basis data, Anda dapat menggunakan kueri SQL berikut pada tabel sqlite_master.

SELECT name FROM sqlite_master WHERE type='table';

Perlu dicatat bahwa kueri ini hanya mengembalikan nama tabel karena kita menetapkan type sebagai ‘table’.

Memfilter tabel sistem

SQLite biasanya menyimpan data internal dalam tabel sistem seperti sqlite_sequence, namun tabel ini mungkin tidak relevan untuk sebagian besar operasi basis data. Untuk mengecualikan tabel-tabel ini dari daftar tabel yang ditampilkan, Anda dapat menambahkan filter kondisional pada kueri untuk menyaringnya. Tabel sistem biasanya diawali dengan nama sqlite_, sehingga lebih mudah untuk memfilternya.

SELECT name FROM sqlite_master 
WHERE type='table' AND name NOT LIKE 'sqlite_%';

Menampilkan tabel menggunakan perintah PRAGMA

Perintah PRAGMA table_list di SQLite juga efektif untuk membuat daftar tabel dalam sebuah basis data. Perintah ini menyediakan nama tabel dan menyertakan metadata tambahan, seperti skema dan jenis tabel. Ini menjadikannya opsi yang lebih kuat dibanding perintah .tables dan kueri terhadap tabel sqlite_master. Mari bahas cara menggunakannya di bawah ini.

Menampilkan metadata tabel

Perintah PRAGMA table_list mengembalikan daftar tabel beserta metadata terperinci, termasuk hal berikut:

  • Nama Skema: Menunjukkan apakah tabel berada di basis data utama atau skema terlampir yang berbeda.
  • Nama Tabel: Nama tabel.
  • Jenis Tabel: Menentukan apakah entri tersebut adalah tabel, view, atau tabel sementara.
  • Asal Tabel: menunjukkan apakah tabel dibuat oleh pengguna atau secara otomatis oleh sistem.
PRAGMA table_list;

Memfilter berdasarkan skema

Anda juga dapat menggunakan PRAGMA table_list untuk memfilter basis data menurut skema. Teknik ini penting, terutama jika Anda memiliki beberapa skema seperti temp, main, atau skema lain yang ditentukan pengguna. Misalnya, perintah di bawah ini akan menampilkan tabel di skema main.

PRAGMA table_list('main');

Menampilkan tabel di SQLite menggunakan bahasa pemrograman

Pengembang dapat membuat daftar tabel di basis data SQLite menggunakan berbagai bahasa pemrograman, termasuk Python dan C. Kemampuan ini penting untuk aplikasi yang berinteraksi secara dinamis dengan basis data, memungkinkan pengelolaan data dan pengalaman pengguna yang lebih baik.

Use case SQLite show tables

Use case umum untuk membuat daftar tabel dalam aplikasi mencakup hal-hal berikut:

  • Manajemen Basis Data: Membuat daftar tabel secara dinamis membantu mengelola basis data, memvalidasi strukturnya, dan melakukan operasi seperti migrasi atau pencadangan.
  • Kueri dan Pelaporan Dinamis: Beberapa aplikasi perlu menampilkan tabel yang tersedia secara dinamis kepada pengguna agar mereka dapat memilih tabel tertentu untuk dikueri atau menghasilkan laporan.
  • Migrasi dan validasi data: Saat memigrasikan atau memvalidasi data antar basis data, penting untuk memastikan semua tabel yang diperlukan ada dan sesuai dengan struktur yang diharapkan.

Menyambung ke SQLite dan mengkueri nama tabel secara terprogram

Ikuti langkah-langkah di bawah ini untuk terhubung ke basis data SQLite secara terprogram dan membuat daftar nama tabel.

  • Membuat Koneksi ke Basis Data SQLite: Sebagian besar bahasa pemrograman memiliki pustaka yang memungkinkan integrasi mudah dengan SQLite (misalnya, sqlite3 di Python atau SQLite C API).

  • Menjalankan Kueri untuk Mengambil Nama Tabel: Anda dapat menggunakan tabel sqlite_master untuk menampilkan nama tabel atau perintah PRAGMA table_list untuk menampilkan metadata terperinci.

Mengambil data tabel dalam C

Anda dapat menghubungkan aplikasi SQLite dalam C menggunakan SQLite C API. Dengan API ini, Anda dapat mengambil data tabel menggunakan pernyataan SQL seperti PRAGMA table_list atau mengkueri tabel sqlite_master. Teknik ini berguna untuk pemrograman sistem level rendah saat Anda memiliki sumber daya terbatas dan ingin mempertahankan kinerja optimal.

Pertimbangan Kinerja

Anda mungkin menemui beberapa masalah kinerja saat membuat daftar tabel di SQLite, terutama saat bekerja dengan himpunan data besar. Berikut di antaranya:

Kinerja baris perintah

Karena .tables adalah bawaan SQLite, perintah ini dioptimalkan untuk kecepatan dan efisiensi pada basis data yang lebih kecil. Namun, menggunakan kueri SQL seperti SELECT name FROM sqlite_master WHERE type='table'; sedikit lebih lambat daripada .tables karena mesin eksekusi kueri memproses permintaan. Meski begitu, perbedaannya, secara praktis, akan dapat diabaikan. Kueri SQL tetap lebih fleksibel daripada perintah .tables karena memungkinkan pemfilteran hasil.

Kinerja terprogram

Saat menggunakan pustaka sqlite3 di Python, kinerja mungkin lambat, terutama saat menangani himpunan data besar. Namun, C menawarkan akses yang lebih langsung dan dioptimalkan ke basis data SQLite melalui SQLite C API. Anda dapat mempertimbangkan menggunakan C saat menangani himpunan data besar yang memerlukan interaksi basis data yang sering untuk kinerja yang optimal dan efisien.

Kesalahan Umum dan Cara Menanganinya

Saat membuat daftar tabel di SQLite, Anda mungkin menemui beberapa kesalahan yang menghambat proses. Di bawah ini adalah beberapa kesalahan umum dan cara menanganinya.

Tidak ada tabel yang ditemukan

Kemungkinan penyebab kesalahan ‘no table found’ meliputi hal-hal berikut:

  • Basis Data Kosong: Basis data mungkin tidak memiliki tabel, terutama untuk basis data yang baru dibuat atau setelah semua tabel di-drop. 

  • Koneksi Basis Data yang Salah: Anda mungkin terhubung ke basis data yang salah atau tidak terduga. Selalu periksa path file basis data dan pastikan Anda terhubung ke basis data yang benar.

  • Kerusakan Basis Data: Kerusakan basis data dapat menyebabkan SQLite gagal menampilkan tabel dengan benar. Untuk mendeteksi kerusakan basis data, jalankan PRAGMA integrity_check dan ikuti langkah-langkahnya.

Masalah pada tabel sementara

Saat bekerja dengan tabel sementara, Anda mungkin menemui masalah berikut:

  • Sifat Spesifik Sesi: Tabel sementara biasanya terikat pada koneksi dan sesi basis data saat ini. Jika Anda tidak dapat melihat tabel sementara yang diharapkan dalam daftar tabel, selalu pastikan Anda terhubung ke sesi yang berjalan saat ini.

  • Konflik Nama: Tabel sementara berbagi namespace dengan tabel biasa dan dapat menimpa tabel biasa jika dibuat menggunakan nama yang sudah ada. Dalam skenario seperti itu, perintah daftar tabel dapat gagal menampilkan tabel biasa kecuali Anda menghapus tabel sementara tersebut.

  • Mendaftar Tabel Sementara: Perintah .tables dan PRAGMA table_list menampilkan tabel sementara. Jika Anda mengkueri sqlite_master, tabel sementara tidak ditampilkan karena disimpan di basis data sementara yang berbeda. Untuk secara eksplisit membuat daftar tabel sementara, gunakan tabel temp.sqlite_master: SELECT name FROM temp.sqlite_master WHERE type='table';

Alternatif untuk Membuat Daftar Tabel di SQLite

Ada berbagai metode alternatif untuk perintah .tables dan kueri sqlite_master dalam membuat daftar tabel di SQLite. Metode tersebut antara lain:

Menggunakan alat GUI SQLite

Alat GUI SQLite berikut efektif jika Anda ingin melihat dan mengelola tabel tanpa menulis kueri.

  • DB Browser for SQLite: Alat GUI open-source yang memungkinkan pengguna berinteraksi secara visual dengan basis data mereka dengan antarmuka sederhana untuk melihat semua tabel dalam sebuah basis data.
  • Beekeeper Studio: Alat GUI lintas platform untuk SQLite yang menyediakan antarmuka intuitif untuk mengelola basis data, termasuk membuat daftar tabel, mengedit baris, dan menjalankan kueri.
  • DBeaver: Alat basis data universal yang memungkinkan pengguna menavigasi struktur basis data, termasuk melihat tabel, kolom, dan metadata-nya.

Solusi terprogram

Sebagai alternatif dari alat baris perintah atau GUI, pengembang dapat menggunakan bahasa pemrograman seperti Python, C, Java, atau Node.js untuk membuat daftar tabel di SQLite secara terprogram.

  • Python: Pustaka sqlite3 di Python memungkinkan pengembang terhubung ke basis data dan mengeksekusi kueri untuk membuat daftar tabel.

  • C: C API memungkinkan terhubung ke SQLite dan pengambilan tabel yang efisien, terutama pada sistem tertanam atau yang kritis terhadap kinerja.

  • JavaScript (Node.js): Paket seperti better-sqlite3 atau sqlite3 untuk Node.js memungkinkan pengembang mengintegrasikan pembuatan daftar tabel SQLite ke dalam aplikasi web atau layanan backend.

Kesimpulan

Ada berbagai metode untuk menampilkan tabel SQLite, termasuk perintah .tables, mengkueri tabel sqlite_master, dan menggunakan perintah PRAGMA table_list untuk fleksibilitas lebih. Memahami kapan menggunakan masing-masing teknik penting untuk menavigasi dan mengelola basis data SQLite secara efisien.

SQLite FAQs

Bagaimana perbedaan SQLite dari basis data lain dalam menampilkan tabel?

SQLite tidak memiliki perintah SHOW TABLES seperti MySQL atau PostgreSQL. Sebagai gantinya, SQLite membuat daftar tabel menggunakan perintah seperti .tables dan kueri terhadap tabel sqlite_master.

Apa perbedaan antara .tables dan mengkueri tabel sqlite_master?

Perintah .tables adalah fungsi bawaan dalam CLI SQLite untuk daftar tabel cepat, sedangkan mengkueri sqlite_master memberikan fleksibilitas lebih dan memungkinkan penerapan filter atau kondisi tambahan saat membuat daftar tabel.

Mengapa tidak ada tabel di basis data SQLite saya?

Anda dapat menemui kesalahan ’no tables found’ jika basis data kosong, terhubung ke file basis data yang salah, atau tabel sementara dibuat di sesi yang berbeda.

Bisakah saya menggunakan SQLite di bahasa pemrograman untuk membuat daftar tabel?

Ya, sebagian besar bahasa pemrograman seperti Python, C, dan JavaScript (Node.js) memiliki pustaka atau API yang memungkinkan Anda berinteraksi dengan basis data SQLite dan mengambil daftar tabel.

Alat apa yang tersedia untuk melihat tabel di SQLite tanpa menggunakan perintah SQL?

Alat seperti DB Browser for SQLite, Beekeeper Studio, dan DBeaver memungkinkan Anda melihat dan mengelola tabel tanpa menulis perintah SQL.

Allan Ouko

Penulis

Allan Ouko

Penulis teknis Data Science dengan pengalaman langsung dalam analitik data, business intelligence, dan data science. Saya menulis konten praktis berfokus industri tentang SQL, Python, Power BI, Databricks, dan rekayasa data, yang berakar pada pekerjaan analitik dunia nyata. Tulisan saya menjembatani kedalaman teknis dan dampak bisnis, membantu para profesional mengubah data menjadi keputusan yang meyakinkan.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Spaghetti Plot dan Jalur Badai

blogs

Tutorial Korelasi di R