Bab 3 dari 6 · 20 menit

Manipulasi Data: INSERT, UPDATE, dan DELETE

Setelah tabel berhasil dibuat melalui instruksi DDL, kamu menggunakan perintah DML untuk mengelola baris data di dalamnya. Perintah utama DML terdiri atas operasi penyisipan (INSERT), pembaruan (UPDATE), dan penghapusan (DELETE).

Perintah INSERT

Perintah INSERT digunakan untuk menambahkan satu atau beberapa baris data baru ke dalam tabel. Pola dasarnya mengharuskan daftar kolom disesuaikan dengan urutan dan jumlah nilai yang dipassing ke dalam klausa VALUES:

-- Menambah satu baris
INSERT INTO produk (nama, harga, stok)
VALUES ('Kopi Arabika', 85000, 40);

-- Menambah beberapa baris sekaligus (batch insert)
INSERT INTO produk (nama, harga, stok)
VALUES
  ('Teh Hijau', 30000, 100),
  ('Gula Aren', 25000, 60),
  ('Susu Kental', 18000, 75);

Beberapa aturan penting saat menyisipkan data:

  • Nilai string teks dan nilai penanggalan wajib diapit oleh tanda kutip tunggal ('...').
  • Kolom yang bersifat AUTO_INCREMENT tidak perlu kamu masukkan secara manual karena nilainya dikelola oleh sistem database.
  • Kolom yang memiliki nilai default (DEFAULT) boleh dilewati dari daftar kolom jika kamu ingin menggunakan nilai bawaannya.

Perintah UPDATE dan DELETE

Ketika data telah berada di dalam tabel, kamu dapat memperbaruinya menggunakan perintah UPDATE atau menghapusnya menggunakan perintah DELETE. Struktur perintahnya tampak pada contoh berikut:

-- Memperbarui data produk tertentu
UPDATE produk
SET harga = 90000, stok = 35
WHERE id = 1;

-- Menghapus data produk yang stoknya habis
DELETE FROM produk
WHERE stok = 0;

Klausa WHERE merupakan bagian yang paling kritis pada operasi UPDATE dan DELETE. Menjalankan UPDATE atau DELETE tanpa menyertakan klausa WHERE akan berdampak pada seluruh baris yang tersimpan di dalam tabel bersangkutan.

Untuk menghindari insiden kehilangan data, terapkan praktik mitigasi berikut:

  • Selalu uji kondisi filter terlebih dahulu menggunakan perintah SELECT dengan kondisi WHERE yang sama sebelum mengeksekusi pembaruan atau penghapusan.
  • Bungkus operasi kritis di dalam transaksi sehingga kamu dapat membatalkan perubahan menggunakan perintah ROLLBACK jika terdapat kekeliruan logika.

Cek pemahaman

  1. 1. Apa yang akan terjadi jika kamu mengeksekusi perintah UPDATE tanpa menyertakan klausa WHERE?

  2. 2. Nilai data bertipe teks dan tanggal di dalam perintah SQL harus diapit oleh tanda kutip tunggal.

  3. 3. Perhatikan query berikut. Mengapa kolom id tidak dicantumkan dalam daftar kolom INSERT?

    INSERT INTO produk (nama, harga, stok)
    VALUES ('Kopi Arabika', 85000, 40);