Mengubah dan Menghapus Data Tabel Apache Cassandra

M. Ramadhan
Telematika
Published in
4 min readMar 23, 2020

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 nilai TIMESTAMP-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 TABLEboleh diabaikan.

Contoh Penggunaan DELETE dan TRUNCATE

Referensi

--

--

M. Ramadhan
Telematika

I’m a database designer and developer, childhood in Menggala, living in Palembang.