Ringkasan :tutorial ini menunjukkan cara menggunakan SQLite DELETE pernyataan untuk menghapus baris dari tabel.
Pengantar SQLite DELETE pernyataan
Anda telah mempelajari cara menyisipkan baris baru ke dalam tabel dan memperbarui data tabel yang sudah ada. Terkadang, Anda perlu menghapus baris dari tabel. Dalam hal ini, Anda menggunakan SQLite DELETE pernyataan.
SQLite DELETE pernyataan memungkinkan Anda untuk menghapus satu baris, beberapa baris, dan semua baris dalam sebuah tabel. Sintaks dari SQLite DELETE pernyataannya sebagai berikut:
DELETE FROM table
WHERE search_condition;Code language: SQL (Structured Query Language) (sql) Dalam sintaks ini:
- Pertama, tentukan nama tabel yang ingin Anda hapus barisnya setelah
DELETE FROMkata kunci. - Kedua, tambahkan kondisi pencarian di
WHEREklausa untuk mengidentifikasi baris yang akan dihapus.WHEREklausa adalah bagian opsional dariDELETEpenyataan. Jika Anda menghilangkanWHEREklausa,DELETEpernyataan akan menghapus semua baris dalam tabel.
SQLite juga menyediakan ekstensi ke DELETE pernyataan dengan menambahkan ORDER BY dan LIMIT klausa. Jika Anda mengompilasi SQLite dengan opsi waktu kompilasi SQLITE_ENABLE_UPDATE_DELETE_LIMIT, Anda dapat menggunakan ORDER BY dan LIMIT klausa dalam DELETE pernyataan seperti form berikut:
DELETE FROM table
WHERE search_condition
ORDER BY criteria
LIMIT row_count OFFSET offset;Code language: SQL (Structured Query Language) (sql)
ORDER BY klausa mengurutkan baris yang difilter oleh search_condition sebelumnya di WHERE klausa dan LIMIT klausa menentukan jumlah baris yang akan dihapus.
Perhatikan bahwa ketika Anda menggunakan DELETE pernyataan tanpa WHERE klausa pada tabel yang tidak memiliki pemicu. SQLite akan menghapus semua baris dalam satu kesempatan alih-alih mengunjungi dan menghapus setiap baris individu. Fitur ini dikenal sebagai pengoptimalan terpotong.
SQLite DELETE contoh pernyataan
Kami akan menggunakan artists_backup tabel dibuat dalam cara menyisipkan baris ke dalam tutorial tabel.
Jika Anda tidak mengikuti tutorial itu, Anda dapat membuat artists_backup tabel dan masukkan data ke dalamnya menggunakan skrip berikut:
-- create artists backup table
CREATE TABLE artists_backup(
artistid INTEGER PRIMARY KEY AUTOINCREMENT,
name NVARCHAR
);
-- populate data from the artists table
INSERT INTO artists_backup
SELECT artistid,name
FROM artists;Code language: SQL (Structured Query Language) (sql)
Pernyataan berikut mengembalikan semua baris dari artists_backup tabel:
SELECT
artistid,
name
FROM
artists_backup;Code language: SQL (Structured Query Language) (sql) Cobalah
Kami memiliki 280 baris di artists_backup tabel.
Untuk menghapus artis dengan id 1, Anda menggunakan pernyataan berikut:
DELETE FROM artists_backup
WHERE artistid = 1;Code language: SQL (Structured Query Language) (sql) Cobalah
Karena kami menggunakan artistid untuk mengidentifikasi artis, pernyataan tersebut menghapus tepat 1 baris.
Misalkan Anda ingin menghapus artis yang namanya mengandung kata Santana :
DELETE FROM artists_backup
WHERE name LIKE '%Santana%';Code language: SQL (Structured Query Language) (sql) Cobalah
Ada 9 baris yang nilainya di name kolom berisi kata Santana oleh karena itu, 9 baris ini telah dihapus.
Untuk menghapus semua baris di artists_backup tabel, Anda hanya perlu menghilangkan WHERE klausa seperti pernyataan berikut:
DELETE FROM artists_backup;Code language: SQL (Structured Query Language) (sql) Cobalah
Dalam tutorial ini, Anda telah mempelajari cara menggunakan SQLite DELETE pernyataan untuk menghapus baris dalam tabel.