Cara Pakai SQL UPDATE Query untuk Mengubah Data

SQL UPDATE query harus dieksekusi dengan sangat hati-hati karena dapat mengganti seluruh nilai dalam tabel. Simak cara pakai SQL UPDATE di artikel berikut.
Bobby Christian
May 5, 2023
6
min read

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
DAFTAR FULL PROGRAMCOBA COURSE GRATIS

Overview

Perintah UPDATE di SQL digunakan untuk mengganti data pada suatu tabel. Untuk mengganti data tersebut dapat dengan menuliskan penggantinya secara langsung, ataupun dengan menggunakan referensi dari tabel lain. 

Salah satu perintah atau query SQL yang termasuk dalam kategori Data Manipulation Language (DML) yang sering dipakai untuk memperbaiki data yang salah adalah query UPDATE. UPDATE ini merupakan salah satu DML yang sering digunakan oleh programmer untuk memperbaiki ataupun mengganti sebuah data yang sudah ada pada tabel sebelumnya. 

Perintah ini perlu dieksekusi dengan sangat hati-hati, karena apabila perintah UPDATE ini tidak disertai dengan kondisi WHERE, maka seluruh data pada kolom yang ditentukan akan terganti. 

Untuk penulisan perintah UPDATE, ada dua cara yang dapat digunakan oleh seorang programmer, yaitu:

  1. Dengan mengganti nilai pada tabel dengan menuliskan langsung kondisi yang ingin kita ganti. 
  2. Dengan menggunakan tabel lain sebagai referensi. Untuk cara kedua ini dapat dilakukan dengan cara menggunakan salah satu kolom pada tabel asal yang bersifat unik, lalu menyamakan kolom tersebut dengan kolom referensi pada tabel lain, yang juga bersifat unik. 

Untuk pembahasan kedua cara ini akan dibahas pada segmen selanjutnya. 

Bagaimana Cara Menggunakan SQL UPDATE Query?

Dalam penulisan perintah UPDATE, biasanya disertai dengan perintah SET untuk memasangkan nilai yang baru. Bentuk penulisan perintah ini pada umumnya adalah: 

Pada contoh penulisan perintah UPDATE di atas, cara untuk menuliskannya cukup mudah, yaitu hanya perlu memanggil perintah UPDATE diikuti dengan nama tabel. Lalu kita perlu menuliskan SET untuk memilih kolom mana yang akan kita ganti datanya, lalu kita menuliskan kondisi yang kita ingin berikan kepada data yang ingin diganti. 

Pada contoh pada konten ini, perhatikan contoh tabel ‘demo’ berikut yang diambil dari SQLOnline.com:

Misalkan kita ingin mengubah isi dari kolom ‘Name’ menjadi ‘product’. Untuk itu, kita bisa menggunakan perintah UPDATE. Berikut cara penulisan dari perintah tersebut: 

Apabila kita kembali melihat isi tabel ‘demo’, maka tabel tersebut akan berisikan data berikut ini: 

Pada perintah di atas, kita tidak menyertakan kondisi apapun ke dalam perintah UPDATE, sehingga SQL akan menganggap bahwa kita akan mengubah seluruh isi kolom ‘Name’ menjadi ‘product’ sesuai dengan perintah yang diberikan. 

Hal inilah yang membuat programmer harus mengecek kembali perintah yang dimasukkan, karena apabila programmer tidak memberikan kondisi tertentu, maka seluruh data yang ada pada kolom yang ditentukan akan terganti. 

Oleh karena itu, kita akan mengembalikan contoh tabel di atas seperti semula, lalu kita akan mengganti hanya sebagian dari data tersebut. Berikut tabel ‘demo’ yang telah dikembalikan ke semula: 

Kali ini, kita hanya akan mengganti seluruh nilai pada kolom ‘Name’ di mana nama produk tersebut mengandung kata ‘SQL’ di dalamnya, menjadi ‘SQL’. Untuk itu, perintah yang akan diberikan yaitu sebagai berikut ini: 

Pada perintah di atas, kita akan kembali mengganti isi tabel ‘demo’, dengan mengubah data pada kolom ‘Name’ di mana kolom tersebut mengandung kata ‘SQL’. Di sini, kita menggunakan perintah UPPER yang digunakan untuk membuat seluruh karakter pada teks tersebut menjadi huruf kapital untuk mempermudah penulisan perintah. 

{{COMPONENT_IDENTIFIER}}

Kita juga menggunakan perintah WHERE dan LIKE untuk memasangkan kondisi di mana SQL  mencari teks yang mengandung kata ‘%SQL%’ sesuai yang diberikan (% merupakan wildcard pada perintah LIKE yang berarti mengambil kondisi TRUE apabila kata-kata SQL berada di tengah dari teks). 

Apabila SQL menemukan data yang cocok dengan kondisi WHERE yang sudah kita tentukan, maka SQL tersebut hanya akan mengganti data yang memenuhi kondisi tersebut. Apabila kita lihat kembali isi dari tabel ‘demo’ yang telah diganti, maka data yang mengandung SQL akan berubah menjadi seperti berikut ini: 

Perhatikan bahwa sebelumnya, data dengan ID nomor 1, 2, dan 9 masing-masing memiliki kata-kata ‘SQL’ di dalamnya apabila diterapkan perintah UPPER. Karena ketiga data ini memenuhi kondisi WHERE yang sudah dituliskan, maka ketiga data ini akan diganti sesuai dengan kondisi pada SET yang telah ditentukan. 

Cara Menggunakan SQL UPDATE dengan Query JOIN

Pada contoh sebelumnya, kita telah mencoba menggunakan UPDATE dengan mengganti nilai dari variabel secara manual, dengan kita menentukan sendiri kondisi dan juga variabel penggantinya. 

Pada contoh berikut ini, kita akan membahas bagaimana cara kita mengganti sebuah nilai pada data dengan menggunakan referensi dari kolom lain. Untuk ini, kita akan menggunakan perintah JOIN untuk membantu kita mengambil referensi data. 

Kita akan membuat sebuah tabel baru bernama criminal_reason yang memuat nama kriminal dan alasan kriminal tersebut ditangkap oleh polisi, perhatikan tabelnya pada gambar berikut ini: 

Lalu kita akan memasukan beberapa data ke dalam tabel criminal_reason ini: 

Selain itu, kita juga akan membuat sebuah tabel bernama criminal_category berisi kategori kejahatan yang dilakukan oleh kriminal: 

Lalu kita akan memasukan beberapa data ke dalam tabel criminal_category ini: 

Apabila kita perhatikan, kedua tabel memiliki ID yang sama, namun pada tabel criminal_reason terdapat penjabaran jelas mengenai kejahatan yang dilakukan (arrest_reason). 

Di sini, kita akan mengubah isi dari arrest_reason ini menjadi kategori seperti yang ada pada criminal_category, dan mengganti seluruh value-nya sesuai dengan ID kriminal tersebut. Perhatikan perintah berikut ini untuk mengubah nilai dari tabel criminal_reason

Pada contoh perintah UPDATE di atas, dilakukan dengan menggunakan SQLite (untuk jenis SQL lain mungkin memiliki format penulisan yang berbeda namun memiliki logika yang sama). 

Pada perintah di atas, kita mengganti nilai yang ada di tabel criminal_reason. Kita akan memasang nilai kolom arrest_reason dengan nilai yang kita ambil dari criminal_category. Di mana kita mengambil nilai category sesuai dengan id yang sama dengan id pada tabel criminal_category dengan id pada tabel criminal_reason (SELECT category FROM criminal_category WHERE id = criminal_reason.id). 

Dengan menjalankan perintah di atas, apabila kita memanggil data pada tabel criminal_reason dengan melakukan SELECT * FROM criminal_reason, maka data pada tabel criminal_reason akan seperti gambar berikut ini: 

Data pada tabel criminal_reason tampak kolom arrest_reason sudah berganti menjadi data yang awalnya ada di tabel criminal_category

Penutup

Perintah UPDATE ini digunakan untuk mengganti data pada suatu tabel. Untuk mengganti data tersebut dapat dengan menuliskan penggantinya secara langsung, ataupun dengan menggunakan referensi dari tabel lain. 

Namun apabila kita menggunakan perintah UPDATE ini, kita perlu hati-hati karena apabila kita tidak memberikan kondisi WHERE dalam perintah tersebut, maka perintah UPDATE tersebut dapat mengganti seluruh nilai pada tabel. 

Bobby Christian
Bobby is a BI Analyst at FnB company. Is an enthusiast in the Data Industry, having some experience in Data Scientist, Data Engineer, and BI Analyst.

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Masih ragu? Coba dulu 3 hari, GRATIS
di Full-Stack Trial Class!

Rasakan pengalaman belajar di RevoU Full-Stack Program: Kelas 100% LIVE, Mini portofolio lewat hands-on assignment, Bimbingan Team Lead & small group discussion. Kalau cocok, kamu bisa lanjut daftar Full Program dengan kesempatan Fast-Track (skip semua tes seleksi masuk, langsung ke tahap akhir!)

Artikel Lainnya

Mau belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!
Menu

Mulai karirmu dalam

Data Analytics

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

Mau Belajar

Data Analytics

?

Belajar di RevoU! Dapatkan skill digital paling in-demand langsung dari praktisi terbaik di bidangnya. Kelas online 100% LIVE, 1:1 career coaching, dan akses ke Community Hub dengan 6000+ member selamanya untuk support perkembangan karir kamu!

DAFTAR FULL PROGRAM

Mau Belajar

Data Analytics

?