Melalui artikel ini, Anda dapat belajar mengenai perintah SQL (Struktured Query Language) yang dipakai untuk Mengubah Data yang ada di dalam databse. Data yang sudah terlanjur diinput (disimpan) di dalam tabel database dapat diperbaiki dengan mudah dengan perintah UPDATE. Berikut ini adalah perintah dasarnya :
UPDATE nama_tabel
SET kolom1 = nilaidata1, kolom2 = nilaidata2, …
WHERE kondisi;
Dari sintaks dadasar perintah SQL di atas, nama_tabel adalah tabel yang isinya akan diperbarui (di-Update). Data yang akan diperbaiki terletak pada kolom1 dan kolom2. Untuk kolom1 akan diperbaiki dengan data terbaru yaitu nilaidata1, sedangkan kolom2 akan diisi dengan nilaidata2.
Untuk memilih baris data mana yang akan diperbarui, maka perintah SQL menggunakan tambahan WHERE kondisi untuk menunjuk baris data tertentu yang akan diperbaiki, sehingga baris data lain tidak akan terganggu. Untuk kondisi, Kita dapat menggunakan kolom Kunci (Primary Key), karena pada kolom ini datanya bersifat unik (tidak ada yang sama).
Sebagai contoh kasus, Kita akan memperbaiki data yang ada di dalam tabel siswa. Misalnya saja data pada kolom kelamin dan alamat, data yang diperbaiki adalah dengan Kode S0001. Perinhtahnya adalah:
UPDATE siswa SET kelamin=’Laki-laki’, alamat =’ Way Jepara, Lampung Timur’
WHERE kd_siswa = ‘S0001’;
Contoh lain, Kita akan memperbaiki data Siswa, data yang diperbaiki adalah kolom alamat milik Siswa dengan Kode S0003. Perintahnya adalah :
UPDATE siswa SET alamat = ‘ Labuhan Ratu, Lampung Timur ‘
WHERE kd_siswa = ‘S0003’;
Jadi, dengan perinhtah UPDATE, Anda dapat memperbaiki data yang salah, atau dapat mengisi data baru jika pada kolom data ada yang masih kosong belum diisi.
INFORMASI
Informasi penting, terutama bagi Anda yang membutuhkan software aplikasi untuk kebutuhan kantor atau untuk penelitian dalam belajar, Kami menyediakan Program Aplikasi Inventory Aset Kantor yang dapat Anda pakai untuk manajemen data barang aset di kantor seperti aset Komputer, aset Meja, set Printer, dll.
Dalam tutorial belajar MySQL kali ini, kita akan membahas tentang query UPDATE yang digunakan untuk mengubah atau memperbarui data dalam sebuah tabel MySQL.
Mempersiapkan Tabel Sample: daftar_dosen
Untuk tabel contoh, saya masih menggunakan tabel daftar_dosen yang kita buat pada tutorial query SELECT MySQL. Tetapi jika anda mengikuti tutorial tentang query DELETE sebelum tutorial ini, maka tabel daftar_dosen telah kosong disebabkan query TRUNCATE sebelumnya.
Tabel daftar_dosen
NIPNama DosenNo HPAlamat0160436012Sabrina Sari0812349900Pekanbaru0260432002Maya Ari Putri0812345234Palembang0275430005Susi Indriani0812656532Bogor0480432066Tia Santrini0812451177Padang0576431001M. Siddiq0812979005Jakarta0770435006Rubin Hadi0812567678Papua0869437003Mustalifah0812338877Aceh1080432007Arif Budiman0812456345MakasarCara Mengubah Data Tabel Menggunakan Query UPDATE
Query UPDATE digunakan untuk melakukan perubahan data pada tabel MySQL, yakni update baris atau record. Format dasar query UPDATE adalah sebagai berikut:
UPDATE nama_tabelSET nama_kolom = data_baruWHERE kondisi
- nama_tabel adalah nama dari tabel yang record/barisnya akan diperbaharui (update)
- nama_kolom adalah nama kolom dari tabel yang akan diupdate.
- data_baru adalah nilai data yang akan diinput sebagai nilai baru dari kolom
- kondisi adalah kodisi atau syarat dari baris yang akan diubah, misalnya jika kolom nama dosen= Sabrina Sari maka lakukan update.
Sebagai contoh, jika saya ingin merubah no HP dari dosen Sabrina Sari menjadi 085298710065 dari tabel daftar_dosen, maka querynya adalah sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
mysql>SELECT *FROM nama_tabel0WHERE nama_tabel2nama_tabel3nama_tabel4
nama_tabel5nama_tabel6
nama_tabel7
nama_tabel5nama_tabel6
SET0
nama_tabel5nama_tabel6
SET3SET4 SET5 SET6
mysql>UPDATE nama_tabel0SET nama_kolom = data_baru1nama_kolom = data_baru2
WHERE nama_tabel2nama_tabel3nama_tabel4
nama_kolom = data_baru7
nama_kolom = data_baru8 nama_kolom = data_baru9
mysql>SELECT *FROM nama_tabel0WHERE nama_tabel2nama_tabel3nama_tabel4
nama_tabel5kondisi0
kondisi1
nama_tabel5kondisi0
kondisi4
nama_tabel5kondisi0
SET3SET4 SET5 mysql>0
Dari query diatas dapat dilihat bahwa kolom no_hp untuk nama dosen Sabrina Sari telah diupdate menjadi nomor baru.
Cara Mengupdate Lebih dari 1 Baris
Untuk query yang lebih rumit, kita bisa merubah beberapa kolom sekaligus. Syarat untuk kondisi juga dapat menggunakan operator logika seperti OR atau AND sekaligus.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
mysql>SELECT *FROM mysql>5
nama_tabel5mysql>7
mysql>8
nama_tabel5mysql>7
SELECT1
SELECT2
SELECT3
SELECT4
SELECT5
SELECT6
SELECT7
SELECT8
nama_tabel5mysql>7
*1*2 SET4 SET5 mysql>0
mysql>UPDATE nama_tabel0SET FROM0FROM1 WHERE
nama_tabel2FROM4 FROM5 FROM6FROM7
FROM5 FROM9nama_tabel00nama_tabel4
nama_tabel02*2 nama_tabel04
nama_kolom = data_baru8 nama_tabel06
mysql>SELECT *FROM mysql>5
nama_tabel5mysql>7
mysql>8
nama_tabel5mysql>7
SELECT1
nama_tabel18
SELECT3
SELECT4
SELECT5
nama_tabel22
SELECT7
nama_tabel24
nama_tabel5mysql>7
*1*2 SET4 SET5 mysql>0
Dari query diatas terlihat bahwa 3 baris/record telah berubah alamatnya menjadi Surabaya. Dalam satu statement UPDATE, kita membuat 3 buah logika OR.
Dalam manual MySQL, format penulisan lengkap dari query UPDATE adalah :
UPDATE nama_tabel33nama_tabel34nama_tabel35
SET nama_tabel37nama_tabel38nama_tabel39nama_tabel38nama_tabel41
nama_tabel42WHERE nama_tabel44
nama_tabel42nama_tabel46 nama_tabel47 nama_tabel48
nama_tabel49
Penjelasan tentang penggunaan perintah ORDER BY dan LIMIT akan kita bahas sebentar lagi
Cara Mengupdate Record dengan Query UPDATE..ORDER BY..LIMIT
Sama seperti query DELETE, query UPDATE juga memiliki perintah opsional ORDER BY..LIMIT untuk pemrosesan tingkat lanjut. Perintah ORDER BY..LIMIT digunakan untuk membatasi perintah UPDATE dengan batas tertentu.
Misalkan kita ingin mengubah alamat dari 5 baris awal tabel daftar_dosen yang diurutkan berdasarkan nama, maka querynya:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
mysql>SELECT *FROM nama_tabel0nama_tabel46 nama_tabel47 nama_tabel57
nama_tabel5mysql>7
mysql>8
nama_tabel5mysql>7
nama_tabel24
SELECT5
nama_tabel18
SELECT7
nama_tabel22
SELECT1
SELECT3
SELECT4
nama_tabel5mysql>7
*1*2 SET4 SET5 mysql>0
mysql>UPDATE nama_tabel0SET FROM0nama_tabel83 nama_tabel46 nama_tabel47 nama_tabel86
nama_tabel87*2 nama_tabel89
nama_kolom = data_baru8 nama_tabel91
mysql>SELECT *FROM nama_tabel0nama_tabel46 nama_tabel47 nama_tabel57
nama_tabel5mysql>7
mysql>8
nama_tabel5mysql>7
SET05
SET06
SET07
SET08
SET09
SELECT1
SELECT3
SELECT4
nama_tabel5mysql>7
*1*2 SET4 SET5 SET19
Dari hasil query tersebut kita dapat melihat 5 baris awal dari tabel daftar_dosen, alamatnya telah berubah menjadi Bali.
Cara Mengupdate Seluruh Kolom dari Tabel MySQL
Jika kita tidak hati-hati dan lupa memberikan kodisi pada perintah WHERE, maka query UPDATE kita akan merubah seluruh kolom dari tabel tersebut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
mysql>SELECT *FROM mysql>5
nama_tabel5mysql>7
mysql>8
nama_tabel5mysql>7
SELECT1
SET07
SELECT3
SELECT4
SET06
SET09
SET08
SET05
nama_tabel5mysql>7
*1*2 SET4 SET5 mysql>0
mysql>UPDATE nama_tabel0SET FROM9SET50nama_tabel4
SET52*2 SET54
nama_kolom = data_baru8 SET56
mysql>SELECT *FROM mysql>5
nama_tabel5SET63
SET64
nama_tabel5SET63
SET67
SET68
SET69
SET70
SET71
SET72
SET73
SET74
nama_tabel5SET63
*1*2 SET4 SET5 mysql>0
Dapat dilihat dengan mengeliminasi kondisi WHERE, mengakibatkan seluruh kolom tabel akan diupdate. Terkadang hasil seperti ini memang yang kita harapkan, namun seperti contoh diatas, kesalahan dalam membuat logika WHERE akan berdampak fatal terhadap keseluruhan tabel.