Untuk memilih data dari database SQLite, gunakan SELECT
pernyataan.
Saat Anda menggunakan pernyataan ini, Anda menentukan tabel mana yang akan dipilih datanya, serta kolom yang akan dikembalikan dari kueri.
Anda juga dapat memberikan kriteria tambahan untuk lebih mempersempit data yang dikembalikan.
Sederhana SELECT
Pernyataan
Kami telah menggunakan SELECT
pernyataan sebelumnya, saat kita memasukkan data.
Pernyataan yang kami gunakan adalah ini:
SELECT * FROM Artists;
Ini cukup jelas — ia memberi tahu SQLite untuk memilih semua kolom dari
Artis
meja. Tanda bintang (*
) adalah cara singkat untuk mengatakan "semua kolom". Ini menyelamatkan kita dari menulis nama semua kolom.
Oleh karena itu, kueri ini mengembalikan semua rekaman dan semua kolom. Seperti ini:
1|Joe Satriani 2|Steve Vai 3|The Tea Party 4|Noiseworks 5|Wayne Jury 6|Mr Percival 7|Iron Maiden 8|Atmasphere 9|Ian Moss 10|Magnum 11|Strapping Young Lad 12|Slayer 13|Primus 14|Pat Metheny 15|Frank Gambale 16|Frank Zappa 17|The Wiggles
Memformat
Mari kita format outputnya agar hasil kita sedikit lebih mudah dibaca.
Gunakan Kolom
Anda dapat menggunakan .mode
untuk mengubah mode keluaran. Contoh di atas menggunakan .mode list
, yang menampilkan hasil sebagai daftar.
Mari kita ubah mode untuk menggunakan kolom.
.mode column
Saat melakukannya, Anda mungkin perlu menyesuaikan lebar kolom (data apa pun yang terlalu lebar untuk kolom akan terpotong).
Sesuaikan Lebar Kolom
Untuk menyesuaikan lebar kolom, gunakan .width
perintah, diikuti dengan lebar untuk setiap kolom.
Contoh berikut menyetel kolom pertama ke 12
dan kolom kedua ke 20
.
.width 12 20
Tambahkan Header
Anda juga dapat menggunakan .headers
untuk menentukan apakah akan menampilkan tajuk kolom atau tidak.
Untuk menampilkan header, gunakan ini:
.headers on
Anda dapat menghapusnya dengan .headers off
.
Tampilkan Setelan
Anda dapat meninjau ini, dan setelan lainnya kapan saja, dengan mengetik .show
sqlite> .show echo: off eqp: off explain: off headers: on mode: column nullvalue: "" output: stdout separator: "|" stats: off width: 12 20
Format Baru
Berikut adalah tampilan contoh sebelumnya menggunakan mode kolom dan header:
ArtistId ArtistName ---------- ------------ 1 Joe Satriani 2 Steve Vai 3 The Tea Part 4 Noiseworks 5 Wayne Jury 6 Mr Percival 7 Iron Maiden 8 Atmasphere 9 Ian Moss 10 Magnum 11 Strapping Yo 12 Slayer 13 Primus 14 Pat Metheny 15 Frank Gambal 16 Frank Zappa 17 The Wiggles
The WHERE
Klausa
Anda dapat menggunakan WHERE
klausa untuk mempersempit hasil. Klausa tersebut memungkinkan Anda untuk menetapkan kriteria khusus yang akan diterapkan pada kueri.
Misalnya, Anda dapat menentukan bahwa hanya rekaman, di mana bidang tertentu berisi nilai tertentu yang harus dikembalikan.
Berikut adalah contoh yang sangat spesifik. Ini menetapkan bahwa hanya record dengan ArtistId sama dengan 6 harus dikembalikan:
SELECT * FROM Artists WHERE ArtistId = 6;
Hasil:
ArtistId ArtistName ------------ -------------------- 6 Mr Percival
Untuk menemukan semua artis yang namanya dimulai dengan huruf "S", Anda dapat melakukan ini:
SELECT * FROM Artists WHERE ArtistName LIKE 'S%';
Hasil:
ArtistId ArtistName ------------ -------------------- 2 Steve Vai 11 Strapping Young Lad 12 Slayer
Tanda persen (%
) adalah karakter wildcard yang dapat digunakan untuk menentukan karakter apa pun. Jadi, dalam contoh ini, kami menetapkan bahwa nama artis harus seperti pola ini (yaitu pola yang dimulai dengan huruf
S
dan mengikuti dengan karakter lain).
Contoh lain dari penggunaan WHERE
klausa adalah untuk mengambil berbagai nilai. Misalnya, kita dapat mencari record yang nilainya lebih kecil dari angka, lebih besar dari angka, atau dalam rentang tertentu.
Berikut adalah contoh memilih hanya rekaman tersebut dengan ArtistId kurang dari angka:
SELECT * FROM Artists WHERE ArtistId < 6;
Hasil:
ArtistId ArtistName ------------ -------------------- 1 Joe Satriani 2 Steve Vai 3 The Tea Party 4 Noiseworks 5 Wayne Jury
Berikut adalah contoh memilih hanya rekaman tersebut dengan ArtistId dalam rentang tertentu:
SELECT * FROM Artists WHERE ArtistId BETWEEN 5 AND 10;
Hasil:
ArtistId ArtistName ------------ -------------------- 5 Wayne Jury 6 Mr Percival 7 Iron Maiden 8 Atmasphere 9 Ian Moss 10 Magnum
Memilih Kolom
Anda dapat menentukan bahwa hanya kolom tertentu yang dikembalikan dalam kumpulan hasil. Cukup tulis nama kolom dalam kueri. Beberapa nama kolom harus dipisahkan dengan koma.
Ini adalah praktik yang baik untuk memilih hanya kolom yang Anda butuhkan. Menggunakan *
, meskipun nyaman, dapat menyebabkan overhead tambahan jika mengembalikan lebih banyak kolom daripada yang diperlukan.
Jadi mari kita jalankan kueri yang sama lagi, tetapi kali ini, hanya pilih ArtistName kolom:
SELECT ArtistName FROM Artists WHERE ArtistId BETWEEN 5 AND 10;
Hasil:
ArtistName ------------ Wayne Jury Mr Percival Iron Maiden Atmasphere Ian Moss Magnum
ORDER BY
Klausa
Anda dapat menggunakan ORDER BY
klausa untuk membatasi jumlah record yang dikembalikan.
Anda dapat menambahkan ASC
untuk urutan menaik, atau DESC
untuk urutan menurun. Jika Anda tidak menambahkan apa pun, itu akan menggunakan menaik.
Di sini, kami memesan dengan ArtistName bidang dalam urutan menaik:
SELECT * FROM Artists ORDER BY ArtistName;
Hasil:
ArtistId ArtistName ------------ -------------------- 8 Atmasphere 15 Frank Gambale 16 Frank Zappa 9 Ian Moss 7 Iron Maiden 1 Joe Satriani 10 Magnum 6 Mr Percival 4 Noiseworks 14 Pat Metheny 13 Primus 12 Slayer 2 Steve Vai 11 Strapping Young Lad 3 The Tea Party 17 The Wiggles 5 Wayne Jury
Dan jika kita beralih ke urutan menurun:
SELECT * FROM Artists ORDER BY ArtistName DESC;
Hasil:
ArtistId ArtistName ------------ -------------------- 5 Wayne Jury 17 The Wiggles 3 The Tea Party 11 Strapping Young Lad 2 Steve Vai 12 Slayer 13 Primus 14 Pat Metheny 4 Noiseworks 6 Mr Percival 10 Magnum 1 Joe Satriani 7 Iron Maiden 9 Ian Moss 16 Frank Zappa 15 Frank Gambale 8 Atmasphere
LIMIT
Klausa
Anda dapat menggunakan LIMIT
klausa untuk membatasi jumlah record yang dikembalikan. Ini bisa berguna jika tabel Anda berisi sejumlah besar catatan tetapi Anda hanya ingin melihat segelintir.
Di sini, kami membatasi kumpulan catatan menjadi hanya lima catatan:
SELECT * FROM Artists LIMIT 5;
Hasil:
ArtistId ArtistName ------------ -------------------- 1 Joe Satriani 2 Steve Vai 3 The Tea Party 4 Noiseworks 5 Wayne Jury