Ringkasan :dalam tutorial ini, kami akan memperkenalkan Anda ke perintah SQLite yang paling umum digunakan dari program baris perintah sqlite3.
Proyek SQLite memberikan alat baris perintah sederhana bernama sqlite3 (atau sqlite3.exe di Windows) yang memungkinkan Anda berinteraksi dengan database SQLite menggunakan pernyataan dan perintah SQL.
Hubungkan ke database SQLite
Untuk memulai sqlite3, ketikkan sqlite3 sebagai berikut:
>sqlite3
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite>
Code language: Shell Session (shell)
Secara default, sesi SQLite menggunakan database dalam memori, oleh karena itu, semua perubahan akan hilang saat sesi berakhir.
Untuk membuka file database, gunakan .open FILENAME
memerintah. Pernyataan berikut membuka chinook.db
basis data:
sqlite> .open c:\sqlite\db\chinook.db
Code language: Shell Session (shell)
Jika Anda ingin membuka file database tertentu saat Anda terhubung ke database SQLite, Anda menggunakan perintah berikut:
>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter ".help" for usage hints.
sqlite>
Code language: Shell Session (shell)
Jika Anda memulai sesi dengan nama database yang tidak ada, alat sqlite3 akan membuat file database.
Misalnya, perintah berikut membuat database bernama sales
di C:\sqlite\db\
direktori:
>sqlite3 c:\sqlite\db\sales.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite>
Code language: Shell Session (shell)
Tampilkan semua perintah yang tersedia dan tujuannya
Untuk menampilkan semua perintah yang tersedia dan tujuannya, gunakan .help
perintah sebagai berikut:
.help
Code language: Shell Session (shell)
Tampilkan database dalam koneksi database saat ini
Untuk menampilkan semua database dalam koneksi saat ini, gunakan .databases
memerintah. .databases
perintah menampilkan setidaknya satu database dengan nama:main
.
Misalnya, perintah berikut menunjukkan semua database koneksi saat ini:
sqlite> .database
seq name file
--- --------------- --------------------------
0 main c:\sqlite\db\sales.db
sqlite>
Code language: Shell Session (shell)
Untuk menambahkan database tambahan dalam koneksi saat ini, Anda menggunakan pernyataan ATTACH DATABASE
. Pernyataan berikut menambahkan chinook
database ke koneksi saat ini.
sqlite> ATTACH DATABASE "c:\sqlite\db\chinook.db" AS chinook;
Code language: Shell Session (shell)
Sekarang jika Anda menjalankan .databases
perintah lagi, sqlite3 mengembalikan dua database:main
dan chinook
.
sqlite> .databases
seq name file
--- --------------- ---------------------
0 main c:\sqlite\db\sales.db
2 chinook c:\sqlite\db\chinook.db
Code language: Shell Session (shell)
Keluar dari alat sqlite3
Untuk keluar dari program sqlite3, gunakan .exit
perintah.
sqlite>.exit
Code language: Shell Session (shell)
Tampilkan tabel dalam database
Untuk menampilkan semua tabel dalam database saat ini, Anda menggunakan .tables
memerintah. Perintah berikut membuka koneksi database baru ke chinook
database dan menampilkan tabel dalam database.
>sqlite3 c:\sqlite\db\chinook.db
SQLite version 3.29.0 2019-07-10 17:32:03
Enter ".help" for usage hints.
sqlite> .tables
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
sqlite>
Code language: Shell Session (shell)
Jika Anda ingin menemukan tabel berdasarkan pola tertentu, gunakan .table
perintah pola. sqlite3 menggunakan LIKE
operator untuk pencocokan pola.
Misalnya, pernyataan berikut mengembalikan tabel yang diakhiri dengan string es
.
sqlite> .table '%es'
employees genres invoices media_types
sqlite>
Code language: Shell Session (shell)
Menampilkan struktur tabel
Untuk menampilkan struktur tabel, gunakan .schema TABLE
memerintah. TABLE
argumen bisa menjadi pola. Jika Anda menghilangkannya, .schema
perintah akan menampilkan struktur semua tabel.
Perintah berikut menunjukkan struktur albums
tabel.
sqlite> .schema albums
CREATE TABLE "albums"
(
[AlbumId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
[Title] NVARCHAR(160) NOT NULL,
[ArtistId] INTEGER NOT NULL,
FOREIGN KEY ([ArtistId]) REFERENCES "artists" ([ArtistId])
ON DELETE NO ACTION ON UPDATE NO ACTION
);
CREATE INDEX [IFK_AlbumArtistId] ON "albums" ([ArtistId]);
sqlite>
Code language: Shell Session (shell)
Untuk menampilkan skema dan isi dari sqlite_stat
tabel, Anda menggunakan .fullschema
perintah.
sqlite>.fullschema
Code language: CSS (css)
Tampilkan indeks
Untuk menampilkan semua indeks dari database saat ini, Anda menggunakan .indexes
perintah sebagai berikut:
sqlite> .indexes
IFK_AlbumArtistId
IFK_CustomerSupportRepId
IFK_EmployeeReportsTo
IFK_InvoiceCustomerId
IFK_InvoiceLineInvoiceId
IFK_InvoiceLineTrackId
IFK_PlaylistTrackTrackId
IFK_TrackAlbumId
IFK_TrackGenreId
IFK_TrackMediaTypeId
Code language: Shell Session (shell)
Untuk menampilkan indeks dari tabel tertentu, Anda menggunakan .indexes TABLE
memerintah. Misalnya, untuk menampilkan indeks albums
tabel, Anda menggunakan perintah berikut:
sqlite> .indexes albums
IFK_AlbumArtistId
Code language: CSS (css)
Untuk menampilkan indeks dari tabel yang namanya diakhiri dengan es
, Anda menggunakan pola operator LIKE.
sqlite> .indexes %es
IFK_EmployeeReportsTo
IFK_InvoiceCustomerId
Code language: Shell Session (shell)
Simpan hasil query ke dalam file
Untuk menyimpan hasil query ke dalam file, gunakan .output FILENAME
memerintah. Setelah Anda mengeluarkan .output
perintah, semua hasil kueri selanjutnya akan disimpan ke file yang Anda tentukan di FILENAME
argumen. Jika Anda ingin menyimpan hasil kueri tunggal berikutnya hanya ke file, Anda mengeluarkan .once FILENAME
perintah.
Untuk menampilkan kembali hasil kueri ke output standar, Anda mengeluarkan .output
perintah tanpa argumen.
Perintah berikut pilih title
dari albums
tabel dan tulis hasilnya ke albums.txt
berkas.
sqlite> .output albums.txt
sqlite> SELECT title FROM albums;
Code language: Shell Session (shell)
Mengeksekusi pernyataan SQL dari sebuah file
Misalkan kita memiliki file bernama commands.txt
di c:\sqlite\
folder dengan konten berikut:
SELECT albumid, title
FROM albums
ORDER BY title
LIMIT 10;
Code language: Shell Session (shell)
Untuk mengeksekusi pernyataan SQL di commands.txt
file, Anda menggunakan .read FILENAME
perintah sebagai berikut:
sqlite> .mode column
sqlite> .header on
sqlite> .read c:/sqlite/commands.txt
AlbumId Title
---------- ----------------------
156 ...And Justice For All
257 20th Century Masters -
296 A Copland Celebration,
94 A Matter of Life and D
95 A Real Dead One
96 A Real Live One
285 A Soprano Inspired
139 A TempestadeTempestade
203 A-Sides
160 Ace Of Spades
Code language: Shell Session (shell)
Dalam tutorial ini, Anda telah mempelajari banyak perintah yang berguna dalam alat sqlite3 untuk melakukan berbagai tugas yang berhubungan dengan database SQLite.