Cara menggunakan mysql row_count after update


The MySQL UPDATE Statement

The UPDATE statement is used to modify the existing records in a table.

UPDATE Syntax

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Note: Be careful when updating records in a table! Notice the WHERE clause in the UPDATE statement. The WHERE clause specifies which record(s) that should be updated. If you omit the WHERE clause, all records in the table will be updated!


Demo Database

Below is a selection from the "Customers" table in the Northwind sample database:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK


UPDATE Table

The following SQL statement updates the first customer (CustomerID = 1) with a new contact person and a new city.

Example

UPDATE Customers
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt'
WHERE CustomerID = 1;

The selection from the "Customers" table will now look like this:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK



UPDATE Multiple Records

It is the WHERE clause that determines how many records will be updated.

The following SQL statement will update the PostalCode to 00000 for all records where country is "Mexico":

Example

UPDATE Customers
SET PostalCode = 00000
WHERE Country = 'Mexico';

The selection from the "Customers" table will now look like this:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 00000 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 00000 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK


Update Warning!

Be careful when updating records. If you omit the WHERE clause, ALL records will be updated!

Example

UPDATE Customers
SET PostalCode = 00000;

The selection from the "Customers" table will now look like this:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Frankfurt 00000 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 00000 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 00000 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London 00000 UK




SQL Update digunakan untuk mengubah data tabel yang sudah ada di sebuah tabel database.
Format:

Table of Contents

  • Cara Mengubah Data Tabel Menggunakan Query UPDATE
  • Cara Mengupdate Lebih dari 1 Baris
  • Cara Mengupdate Record dengan Query UPDATE..ORDER BY..LIMIT
  • Cara Mengupdate Seluruh Kolom dari Tabel MySQL
  • Digunakan untuk apa perintah update?
  • Bagaimana cara update atau memperbarui data di dalam tabel MySQL?
  • Apa perintah SQL yang digunakan untuk mengupdate data di database?
  • Apa itu query update?
  • Bagaimana cara update atau memperbarui data di dalam tabel MySQL?
  • Query Update untuk apa?
  • Apa itu update database?
  • Apa itu mysql_query?

UPDATE namatabel

SET namafield1= nilaifield1, namafield2= nilaifield2,...

WHERE kriteria

Kriteria where aturan nya sama seperti where pada query select. Yang paling sering digunakan adalah
WHERE namafieldprimarykey = nilainamafieldprimarykey

Sebagai contoh kasus kita akan menggunakan tabel bernama `kategori` yang ada dalam database `latihan` dengan struktur sebagai berikut:

Update Nilai Semua Baris dalam Tabel

!!! WARNING !!!
Jangan lupa menyertakan WHERE dalam query update! Kecuali kalau kamu bener2 ingin seluruh data yang ada tabel bersangkutan berubah ke nilai yang sama.
Contoh kondisi tabel sebelum update:

Kita akan update modifieddate = tanggal/waktu hari ini dan modifiedby = 'rani' untuk semua baris.

Sintaks SQL: (again, hati2 karena ini mengubah seluruh baris)
UPDATE `kategori` SET `modifieddate` = now(), `modifiedby` = 'rani'

Nilai kolom yang diubah berlaku untuk seluruh baris:

Nilai 2019-12-16 10:21:34 adalah waktu saat rani execute query ini.

Update Nilai dengan Kriteria Tertentu (Primary Key)

Query ini biasa nya digunakan untuk update dalam CRUD standard, menggunakan primary key sebagai kriteria. Untuk contoh kita lanjut dari kondisi data sebelum nya (di atas).
Query yang digunakan:

UPDATE kategori SET namakategori = 'Media Cetak', modifieddate = now(), modifiedby = 'rani' WHERE kodekategori = 'K003'

Hasilnya:

Update Nilai dengan Hasil Penggabungan String dan Kriteria Like

Lanjutan yah, masih menggunakan sample di atas. Disini kita akan mempelajari update kolom dengan penggabungan teks (string) dan bagaimana menggunakan kriteria kolom yang memuat kata tertentu dengan sintaks (LIKE). Contoh kasus berikut nya adalah jika kita ingin menambahkan kata 'Buku ' di depan nilai kolom namakategori yang mengandung kata 'fiksi'.

UPDATE kategori 
SET namakategori = CONCAT('Buku ', namakategori) 
WHERE namakategori LIKE '%Fiksi%'

Hasilnya:

Update Nilai dengan Formula dan Kriteria Kategori Tertentu
Berikutnya adalah update dengan nilai hasil formula dan kriterianya kategori tertentu. Disini saya masih menggunakan database latihan namun tabel yang digunakan adalah tabel buku. Dengan kondisi data awal sebagai berikut:

Query pertama kita akan mengupdate harga buku dengan tambahan harga 1000 tiap buku dengan kategori K001.

UPDATE buku SET harga = harga + 1000 WHERE kodekategori = 'K001'

Hasilnya:

Query selanjutnya merupakan contoh jika kita ingin menaikan harga sebesar 10% dari harga saat ini untuk kodekategori K002.

UPDATE buku 
SET harga = harga + (0.1 * harga) 
WHERE kodekategori = 'K002'

Hasilnya:

Kita juga bisa mengambil nilai update dari tabel lain, contohnya ada pada artikel berikut:

Semoga uraian dan contoh tentang UPDATE ini bisa bermanfaat, klo temen-temen coder ada pertanyaan silahkan di kolom komentar ya!

Tutorial Belajar MySQL Part 26: Cara Mengubah Data Tabel MySQL (query UPDATE)

Table of Contents

  • Cara Mengubah Data Tabel Menggunakan Query UPDATE
  • Cara Mengupdate Lebih dari 1 Baris
  • Cara Mengupdate Record dengan Query UPDATE..ORDER BY..LIMIT
  • Cara Mengupdate Seluruh Kolom dari Tabel MySQL
  • Digunakan untuk apa perintah update?
  • Bagaimana cara update atau memperbarui data di dalam tabel MySQL?
  • Apa perintah SQL yang digunakan untuk mengupdate data di database?
  • Apa itu query update?

12 Jun 13 | | Tutorial MySQL | |

Dalam tutorial belajar MySQL kali ini kita akan membahas tentang query UPDATE. Query ini digunakan untuk mengubah atau memperbarui data dalam sebuah tabel MySQL.


 Mempersiapkan Tabel Sample:  daftar_dosen

Untuk tabel contoh, saya masih memakai tabel daftar_dosen yang kita buat pada tutorial query SELECT MySQL. Namun jika anda mengikuti tutorial query DELETE sebelumnya, maka tabel daftar_dosen telah kosong sebagai efek dari query TRUNCATE.

Oleh karena itu silahkan buat ulang tabel daftar_dosen agar bisa mengikuti contoh dalam tutorial ini.

Isi tabel daftar_dosen:

NIPNama DosenNo HPAlamat
0160436012 Sabrina Sari 0812349900 Pekanbaru
0260432002 Maya Ari Putri 0812345234 Palembang
0275430005 Susi Indriani 0812656532 Bogor
0480432066 Tia Santrini 0812451177 Padang
0576431001 M. Siddiq 0812979005 Jakarta
0770435006 Rubin Hadi 0812567678 Papua
0869437003 Mustalifah 0812338877 Aceh
1080432007 Arif Budiman 0812456345 Makasar

Cara Mengubah Data Tabel Menggunakan Query UPDATE

Query UPDATE dipakai untuk melakukan perubahan data pada tabel MySQL, yakni proses update baris atau record. Format dasar query UPDATE adalah sebagai berikut:

UPDATE nama_tabel SET nama_kolom = data_baru WHERE 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 kondisi atau syarat dari baris yang akan diubah, misalnya jika kolom nama dosen= Sabrina Sari maka lakukan update.

Sebagai contoh, jika ingin mengubah no HP milik dosen Sabrina Sari menjadi 085298710065 dari tabel daftar_dosen, maka querynya adalah sebagai berikut:

mysql> SELECT * FROM daftar_dosen WHERE nama_dosen='Sabrina Sari';
+------------+--------------+------------+-----------+
| NIP_dosen  | nama_dosen   | no_hp      | alamat    |
+------------+--------------+------------+-----------+
| 0160436012 | Sabrina Sari | 0812349900 | Pekanbaru |
+------------+--------------+------------+-----------+
1 row in set (0.08 sec)

mysql> UPDATE daftar_dosen SET no_hp ='085298710065'
WHERE nama_dosen='Sabrina Sari';
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT * FROM daftar_dosen WHERE nama_dosen='Sabrina Sari';
+------------+--------------+--------------+-----------+
| NIP_dosen  | nama_dosen   | no_hp        | alamat    |
+------------+--------------+--------------+-----------+
| 0160436012 | Sabrina Sari | 085298710065 | Pekanbaru |
+------------+--------------+--------------+-----------+
1 row in set (0.00 sec)

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:

mysql> SELECT * FROM daftar_dosen;
+------------+----------------+------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp      | alamat    |
+------------+----------------+------------+-----------+
| 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
| 0260432002 | Maya Ari Putri | 0812345234 | Palembang |
| 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
| 0480432066 | Tia Santrini   | 0812451177 | Padang    |
| 0576431001 | M. Siddiq      | 0812979005 | Jakarta   |
| 0770435006 | Rubin Hadi     | 0812567678 | Papua     |
| 0869437003 | Mustalifah     | 0812338877 | Aceh      |
| 1080432007 | Arif Budiman   | 0812456345 | Makasar   |
+------------+----------------+------------+-----------+
8 rows in set (0.00 sec)

mysql> UPDATE daftar_dosen SET alamat ='Surabaya' WHERE 
nama_dosen='Rubin Hadi' OR NIP_dosen='1080432007' 
OR no_hp='0812345234';
Query OK, 3 rows affected (0.16 sec)
Rows matched: 3  Changed: 3  Warnings: 0

mysql> SELECT * FROM daftar_dosen;
+------------+----------------+------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp      | alamat    |
+------------+----------------+------------+-----------+
| 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
| 0260432002 | Maya Ari Putri | 0812345234 | Surabaya  |
| 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
| 0480432066 | Tia Santrini   | 0812451177 | Padang    |
| 0576431001 | M. Siddiq      | 0812979005 | Jakarta   |
| 0770435006 | Rubin Hadi     | 0812567678 | Surabaya  |
| 0869437003 | Mustalifah     | 0812338877 | Aceh      |
| 1080432007 | Arif Budiman   | 0812456345 | Surabaya  |
+------------+----------------+------------+-----------+
8 rows in set (0.00 sec)

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 [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

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 bisa dipakai untuk membatasi perintah UPDATE dengan batas tertentu.

Misalkan ingin mengubah alamat dari 5 dosen pertama yang diurutkan berdasarkan nama, maka querynya:

mysql> SELECT * FROM daftar_dosen ORDER BY nama_dosen;
+------------+----------------+------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp      | alamat    |
+------------+----------------+------------+-----------+
| 1080432007 | Arif Budiman   | 0812456345 | Surabaya  |
| 0576431001 | M. Siddiq      | 0812979005 | Jakarta   |
| 0260432002 | Maya Ari Putri | 0812345234 | Surabaya  |
| 0869437003 | Mustalifah     | 0812338877 | Aceh      |
| 0770435006 | Rubin Hadi     | 0812567678 | Surabaya  |
| 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
| 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
| 0480432066 | Tia Santrini   | 0812451177 | Padang    |
+------------+----------------+------------+-----------+
8 rows in set (0.00 sec)

mysql> UPDATE daftar_dosen SET alamat ='Bali' ORDER BY nama_dosen LIMIT 5;
Query OK, 5 rows affected (0.09 sec)
Rows matched: 5  Changed: 5  Warnings: 0

mysql> SELECT * FROM daftar_dosen ORDER BY nama_dosen;
+------------+----------------+------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp      | alamat    |
+------------+----------------+------------+-----------+
| 1080432007 | Arif Budiman   | 0812456345 | Bali      |
| 0576431001 | M. Siddiq      | 0812979005 | Bali      |
| 0260432002 | Maya Ari Putri | 0812345234 | Bali      |
| 0869437003 | Mustalifah     | 0812338877 | Bali      |
| 0770435006 | Rubin Hadi     | 0812567678 | Bali      |
| 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
| 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
| 0480432066 | Tia Santrini   | 0812451177 | Padang    |
+------------+----------------+------------+-----------+
8 rows in set (0.06 sec)

Dari hasil query tersebut kita bisa melihat 5 dosen awal alamatnya telah berubah menjadi Bali.


Cara Mengupdate Seluruh Kolom dari Tabel MySQL

Jika kita tidak hati-hati dan lupa memberikan kondisi pada perintah WHERE, maka query UPDATE kita akan merubah seluruh kolom dari tabel tersebut. Berikut contoh kasusnya:

mysql> SELECT * FROM daftar_dosen;
+------------+----------------+------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp      | alamat    |
+------------+----------------+------------+-----------+
| 0160436012 | Sabrina Sari   | 0812349900 | Pekanbaru |
| 0260432002 | Maya Ari Putri | 0812345234 | Bali      |
| 0275430005 | Susi Indriani  | 0812656532 | Bogor     |
| 0480432066 | Tia Santrini   | 0812451177 | Padang    |
| 0576431001 | M. Siddiq      | 0812979005 | Bali      |
| 0770435006 | Rubin Hadi     | 0812567678 | Bali      |
| 0869437003 | Mustalifah     | 0812338877 | Bali      |
| 1080432007 | Arif Budiman   | 0812456345 | Bali      |
+------------+----------------+------------+-----------+
8 rows in set (0.00 sec)

mysql> UPDATE daftar_dosen SET no_hp='085278790005';
Query OK, 8 rows affected (0.06 sec)
Rows matched: 8  Changed: 8  Warnings: 0

mysql> SELECT * FROM daftar_dosen;
+------------+----------------+--------------+-----------+
| NIP_dosen  | nama_dosen     | no_hp        | alamat    |
+------------+----------------+--------------+-----------+
| 0160436012 | Sabrina Sari   | 085278790005 | Pekanbaru |
| 0260432002 | Maya Ari Putri | 085278790005 | Bali      |
| 0275430005 | Susi Indriani  | 085278790005 | Bogor     |
| 0480432066 | Tia Santrini   | 085278790005 | Padang    |
| 0576431001 | M. Siddiq      | 085278790005 | Bali      |
| 0770435006 | Rubin Hadi     | 085278790005 | Bali      |
| 0869437003 | Mustalifah     | 085278790005 | Bali      |
| 1080432007 | Arif Budiman   | 085278790005 | Bali      |
+------------+----------------+--------------+-----------+
8 rows in set (0.00 sec)

Dapat dilihat dengan mengeliminasi kondisi WHERE, seluruh kolom tabel akan ter-update. Terkadang hasil seperti ini memang kita harapkan. Namun seperti contoh di atas, kesalahan dalam membuat logika WHERE bisa berdampak fatal terhadap keseluruhan tabel.


Pada tutorial selanjutnya, kita akan bahas Cara Mengganti Tampilan Nama Kolom Menggunakan Alias (AS).

Digunakan untuk apa perintah update?

Perintah UPDATE digunakan untuk mengganti nilai baris data pada suatu tabel dalam database. Perintah UPDATE dapat mengganti satu baris data dan dapat juga mengganti beberapa baris data sekaligus.

Bagaimana cara update atau memperbarui data di dalam tabel MySQL?

Untuk melakukan update data atau memperbarui data yang ada didalam tabel database mysql ini yaitu dengan menggunakan perintah UPDATE, sedangkan untuk menghapusnya yaitu dengan menggunakan perintah DELETE.

Apa perintah SQL yang digunakan untuk mengupdate data di database?

Perintah update data merupakan salah satu perintah SQL yang digunakan untuk mengubah data sesuai dengan kondisi yang diinginkan.

Apa itu query update?

Query Update memungkinkan Anda untuk mengupdate data pada tabel dengan mengubah nilai eksplisit atau dengan menggunakan data pada tabel lain untuk membantu menerapkan perubahan.

Bagaimana cara update atau memperbarui data di dalam tabel MySQL?

Untuk melakukan update data atau memperbarui data yang ada didalam tabel database mysql ini yaitu dengan menggunakan perintah UPDATE, sedangkan untuk menghapusnya yaitu dengan menggunakan perintah DELETE.

Query Update untuk apa?

Dalam tutorial belajar MySQL kali ini kita akan membahas tentang query UPDATE. Query ini digunakan untuk mengubah atau memperbarui data dalam sebuah tabel MySQL.

Apa itu update database?

Query Update adalah cara untuk mengedit data yang telah diupload ke dalam suatu database apabila penulis salah dalam memasukkan data.

Apa itu mysql_query?

MySQL Query adalah perintah atau instruksi yang dapat digunakan untuk mengelola database atau tabel dalam database MySQL. Query lebih dikenal dengan sebutan SQL (Structured Query Language) yang artinya adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional.