Mengubah dan Menghapus Data Tabel Apache Cassandra
Mengubah dan menghapus tabel telah dibahas pada tulisan sebelumnya. Kali ini akan dibahas bagaimana:
• mengubah data menggunakan pernyataan UPDATE
• menghapus data menggunakan pernyataan DELETE
• mengosongkan tabel menggunakan pernyataan TRUNCATE.
Mengubah Data
Pernyataan UPDATE
digunakan untuk mengubah data satu atau beberapa kolom pada satu atau beberapa baris dalam suatu tabel. Berikut adalah diagram sintaksnya.
- nama_keyspace adalah keyspace yang berisi tabel yang akan diubah datanya. Tidak diperlukan jika keyspace telah ditentukan dengan perintah
USE
. - nama_tabel adalah tabel yang akan diubah datanya.
- durasi dalam satuan detik pada klausa
USING TTL
menunjukkan waktu hidup nilai kolom sejak diubah sebelum nilainya dihapus.
- Secara default, nilai durasi tidak pernah kedaluwarsa.
- Tidak berlaku untuk kolom bertipe counter.
- Pengaturan durasi TTL pada kolom menimpa durasi TTL sebelumnya.
- Durasi TTL kolom dapat dihapus dengan memberi nilai nol. - waktu tulis dalam klausa
USING TIMESTAMP
digunakan untuk menentukan kapan perubahan data tersebut ditulis, ditentukan sejak 1 Januari 1970 dalam satuan milidetik. Secara default, Cassandra menggunakan waktu penulisan yang sebenarnya. - nama_kolom adalah kolom yang akan diubah datanya dengan nilai ekspresi. Nilai primary key tidak dapat diubah.
- kriteria_primary_key dalam klausa
WHERE
digunakan untuk mengidentifikasi baris yang akan diubah datanya.
- Untuk menentukan satu baris, gunakan kriteria berikut:
nama_primary_key = nilai
- Untuk menentukan beberapa baris, gunakan gunakan kriteria berikut:
nama_primary_key IN (nilai, nilai, ...)
- Jika nilai primary key dalam kriteria tidak ditemukan di dalam tabel, maka baris baru akan ditambahkan dengan nilai primary key sesuai dengan nilai dalam kriteria.
- Gunakan klausa
IF EXISTS
untuk mencegah penambahan baris baru. - kriteria_kolom_non_primary_key dalam klausa
IF
digunakan sebagai kriteria tambahan berdasarkan nilai kolom bukan primary key.
- Perubahan data dilakukan bila ada baris yang cocok dengan kriteria.
- Penggunaan kriteria tambahan menurunkan kinerja.
Contoh Penggunaan UPDATE
Buat keyspace akademik dan tabel mahasiswa bila keduanya sudah terhapus. Lihat kembali tulisan sebelumnya yang membahas bagaimana membuat keyspace dan tabel.
Sebelumnya, terlebih dahulu aktifkan keyspace akademik dan tampilkan data yang ada dalam tabel mahasiswa.
Menghapus Data
Pernyataan DELETE
digunakan untuk menghapus data satu atau beberapa kolom yang dipilih, satu atau beberapa baris ketika tidak ada kolom yang ditentukan. Berikut adalah diagram sintaksnya.
- nama_keyspace adalah keyspace yang berisi tabel yang akan dihapus datanya. Tidak diperlukan jika keyspace telah ditentukan dengan perintah
USE
. - nama_kolom adalah kolom yang akan dihapus datanya. Jika tidak ada kolom yang dipilih, yang dihapus adalah baris.
- nama_tabel adalah tabel yang akan dihapus datanya.
- waktu dalam klausa
USING TIMESTAMP
digunakan untuk menghapus data yang nilaiTIMESTAMP
-nya lebih kecil dari nilai waktu. - kriteria_primary_key dalam klausa
WHERE
digunakan untuk mengidentifikasi baris yang akan dihapus datanya.
- Untuk menentukan satu baris, gunakan kriteria berikut:
nama_primary_key = nilai
- Untuk menentukan beberapa baris, gunakan gunakan kriteria berikut:
nama_primary_key IN (nilai, nilai, ...)
- Jika nilai primary key dalam kriteria tidak ditemukan di dalam tabel, maka tidak ada data yang dihapus.
- Gunakan klausa
IF EXISTS
bila ingin mengetahui apakah data yang dihapus ada atau tidak. - kriteria_kolom_non_primary_key dalam klausa
IF
digunakan sebagai kriteria tambahan berdasarkan nilai kolom bukan primary key.
- Penghapusan data dilakukan bila ada baris yang cocok dengan kriteria.
- Penggunaan kriteria tambahan menurunkan kinerja.
Mengosongkan Tabel
Pernyataan TRUNCATE
digunakan untuk mengosongkan tabel. Ini berarti semua data dalam tabel terhapus. Berikut adalah diagram sintaksnya.
- nama_keyspace adalah keyspace yang berisi tabel yang akan dikosongkan. Tidak diperlukan jika keyspace telah ditentukan dengan perintah
USE
. - nama_tabel adalah tabel yang akan dihapus datanya.
- Klausa
TABLE
boleh diabaikan.
Contoh Penggunaan DELETE dan TRUNCATE
Referensi