Merubah baris menjadi kolom di mysql

Hai! Bertemu lagi di lanjutan Tutorial MySQL Dasar, pada tutorial ini saya akan menjelaskan Bagaimana Cara Mengubah (update) Data di Tabel MySQL. di materi sebelumnya kita juga sudah belajar Bagaimana Cara Membuat Auto Icrement di Tabel MySQL.

Jika teman-teman masih pemula, silahkan pelajari materi-materi sebelumnya dan pantau terus update Tutorial MySQL Dasar di website mandankoding.com, ya!

Query UPDATE MySQL

Perintah Update di gunakan untuk memodifikasi/mengubah data yang ada di kolom (record) tabel MySQL

Query Update MySQL:

UPDATE nama_tabel
SET kolom1= nilai_kolom1, kolom2=nilai_kolom2, ….
WHERE kondisi;

Keterangan:

  • nama_tabelmerupakan nama tabel yang kolomnya akan di ubah
  • kolom1merupakan nama kolom yang ingin di ubah nilainya
  • nilai_kolom1merupakan nilai baru yang akan menggantikan nilai sebelumnya pada kolom1
  • UPDATE biodata_mahasiswa
    SET alamat = 'Palembang', kode_pos = '98989'
    WHERE id_mhs = 3;
    
    
    1yang akan menentukan kolom dari baris data mana yang akan di ubah

Catatan:
Berhati-hatilah dalam mengubah nilai kolom di dalam tabel MySQL. Gunakan klausa

UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

2di dalam perintah
UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

3, karena klausa
UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

2akan menentukan
UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

5dari baris data mana yang akan diubah. Jika kita mengabaikan
UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

2, maka semua nilai kolom yang ada dalam tabel akan terupdate.

Sekarang, kita akan mencoba mengubah beberapa baris data dari tabel

UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

7di bawah ini!

id_mhsnimnama_depannama_belakangalamatkode_pos1191100111ZoeMartinJakarta Barat112312191100112DwiJaneJakarta Timur909023191100113AyraMyshaMedan808044191100114AzkaPutraPadang999935191100115TyasMirandaPadang999936191100116KayleJanePadang99993

Keterangan:

  • Kolom
    UPDATE biodata_mahasiswa
    SET alamat = 'Palembang', kode_pos = '98989'
    WHERE id_mhs = 3;
    
    
    8di set sebagai kolom Primary Key.

Cara Mengubah Data di Tabel MySQL

Kita akan mengubah baris data dari tabel

UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

7dimana
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

0

Perhatikan contoh berikut:

UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

Untuk memastikan apakah data benar-benar terupdate, gunakan query

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

1

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

Catatan:
Disarankan mengubah baris data di dalam tabel MySQL berdasarkan kondisi dari kolom primary key, karena jika kita mengubah data berdasarkan

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

2 (bukan kolom primary key), takutnya data yang ada di kolom
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

3di dalam tabel terdapat data yang sama, sehingga data dengan
MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

3yang sama semuanya akan terupdate. Sedangkan mengubah data berdasarkan data unik (primary key) dipastikan tidak ada data yang sama di dalam kolom tersebut.

Cara Mengubah Multiple Kolom di Tabel MySQL

Dengan menggunakan klausa WHERE kita dapat mengubah beberapa kolom data sekaligus, pada query di bawah ini kita akan mengubah nilai dari kolom

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

5untuk data yang beralamat di Padang.

Perhatikan contoh berikut:

UPDATE biodata_mahasiswa
SET kode_pos = '00000'
WHERE alamat = 'Padang';

Jadi semua yang beralamat di padang akan kita ubah kode pos nya menjadi 00000

Untuk memastikan apakah data benar-benar terupdate, gunakan query

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

1

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 00000    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 00000    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 00000    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

Pada tabel di atas, semua nilai kolom

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat        | kode_pos |
+--------+-----------+------------+---------------+---------------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta Barat | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta Timur | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Palembang     | 98989    |
|      4 | 191100114 | Azka       | Putra         | Padang        | 99993    |
|      5 | 191100115 | Tyas       | Miranda       | Padang        | 99993    |
|      6 | 191100116 | Kayle      | Jane          | Padang        | 99993    |
+--------+-----------+------------+---------------+---------------+----------+
6 rows in set (0.001 sec)

5yang beralamat di Padang telah diubah nilainya menjadi 00000

Perhatian!
Berhati-hatilah dalam mengubah data, jika sampai menghilangkan klausa

UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

2di dalam perintah
UPDATE biodata_mahasiswa
SET alamat = 'Palembang', kode_pos = '98989'
WHERE id_mhs = 3;

3,  maka semua data di kolom yang ingin dirubah akan ikut terupdate.

Perhatikan contoh berikut:

UPDATE biodata_mahasiswa
SET alamat = 'Jakarta';

Hasil query di atas:

MariaDB [mahasiswa]> SELECT * FROM biodata_mahasiswa;
+--------+-----------+------------+---------------+---------+----------+
| id_mhs | nim       | nama_depan | nama_belakang | alamat  | kode_pos |
+--------+-----------+------------+---------------+---------+----------+
|      1 | 191100111 | Zoe        | Martin        | Jakarta | 11231    |
|      2 | 191100112 | Dwi        | Jane          | Jakarta | 90902    |
|      3 | 191100113 | Ayra       | Mysha         | Jakarta | 98989    |
|      4 | 191100114 | Azka       | Putra         | Jakarta | 00000    |
|      5 | 191100115 | Tyas       | Miranda       | Jakarta | 00000    |
|      6 | 191100116 | Kayle      | Jane          | Jakarta | 00000    |
+--------+-----------+------------+---------------+---------+----------+
6 rows in set (0.001 sec)

Dengan mengabaikan klausa WHERE, semua nilai yang ada di kolom

UPDATE biodata_mahasiswa
SET kode_pos = '00000'
WHERE alamat = 'Padang';

0diubah menjadi Jakarta

Setelah memahami Bagaimana Cara Mengubah (update) Data di Tabel MySQL, pada materi selanjutnya akan kita bahas Bagaimana Cara Menghapus (delete) Data di Tabel MySQL

Apa itu primary key pada MySQL?

Fungsi Primary Key pada MySQL Kunci utama memungkinkan kamu untuk mengidentifikasi setiap baris di tabel. Hal ini penting dilakukan karena dapat menautkan tabel ke tabel lain yang berkaitan dengan kunci utama sebagai tautannya.

Bagaimana MySQL berbeda dari SQL?

Pada dasarnya, perbedaan SQL dan MySQL cukup signifikan, di mana SQL adalah bahasa query, sedangkan MySQL adalah software yang menggunakan bahasa query tersebut (SQL). Kalau berbicara tentang MySQL, padanannya adalah SQL Server.

Apa perintah SQL yang digunakan untuk mengubah data di database?

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

Apakah kita dapat merubah nama tabel dalam MySQL bagaimana query nya?

Perintah SQL (Structured Query Language) yang dipakai untuk mengubah nama tabel dalam database MySQL adalah perintah RENAME TABLE. Dengan perinah ini Kita dapat menguba nama tabel A menjadi tabel B, atau sebaliknya.