Mengubah nama field pada mysql

Query UPDATE digunakan untuk melakukan perubahan data pada tabel MySQL (update baris/record).  Format dasar Query UPDATE :

UPDATE  nama_tabel  SET  nama_kolom = data_baru   WHERE   kondisi

Keterangan:

  • nama_tabel adalah nama dari tabel yang barisnya akan diperbaharui (update)
  • nama_kolom adalah nama kolom pada database dari tabel yang akan diperbaharui
  • data_baru adalah isi data yang akan diinput sebagai data baru pada kolom yang akan diperbaharui
  • kondisi adalah kondisi atau syarat dari baris yang akan diubah

Contoh:

Tabel Siswa

NamaTanggal LahirAsal SekolahRani23 Januari 2000SDN 5 BojongJuna28 Februari 2001SDN Suka MakmurBimbo1 Agustus 2001SDN Suka Makmur

 

Saya ingin mengubah data asal sekolah atas nama Juna yang tadinya sekolah di SDN Suka Makmur akan diubah menjadi asal sekolah di SDN Baru Berkembang. Maka query UPDATEnya adalah :

Jika pada 5 tutorial MySQL sebelum ini kita telah mempelajari tentang tipe data tabel MySQL dan atribut tipe data tabel MySQL, pada tutorial kali ini akan dibahas tentang bagaimana merubah atau mengubah serta modifikasi tabel MySQL setelah tabel itu dibuat. Query yang akan kita pelajari adalah ALTER TABLE.


Ada kalanya setelah sebuah tabel MySQL dibuat, kita ingin mengubah struktur tabel tersebut. Entah itu berupa penambahan kolom baru, atau penghapusan sebuah kolom untuk digantikan dengan kolom lain.

Query untuk membuat tabel (CREATE TABLE) dan menghapus tabel (DROP TABLE) sudah kita bahas pada Tutorial MySQL: Cara Membuat dan Menghapus Tabel MySQL. Kali ini kita akan menggunakan perintah ALTER TABLE untuk mengubah struktur tabel MySQL.

Agar memudahkan dalam mempelajari query ALTER TABLE, saya akan membuat sebuah tabel sample: daftar_jurusan. Silahkan buka MySQL client, dan gunakan perintah query berikut jika anda ingin membuat tabel yang sama:

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mahasiswa          |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.11 sec)

mysql> USE mahasiswa;
Database changed

mysql> CREATE TABLE daftar_jurusan ( kode_jurusan CHAR(5), 
nama_jurusan VARCHAR(20),alamat VARCHAR(100),
jumlah_mahasiswa SMALLINT );
Query OK, 0 rows affected (0.05 sec)

mysql> DESC daftar_jurusan;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
| alamat           | varchar(100) | YES  |     | NULL    |       |
| jumlah_mahasiswa | smallint(6)  | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.03 sec)

Query tersebut berisi perintah pembuatan tabel daftar_jurusan pada database mahasiswa. Jika anda belum membuat database, silahkan buat terlebih dahulu seperti pada Tutorial MySQL : Membuat dan Menghapus Database.


Cara Merubah Tipe Data Kolom MySQL

Sesaat setelah membuat tabel daftar_jurusan, saya berfikir untuk merubah tipe data pada kolom jumlah_mahasiswa dari SMALLINT menjadi MEDIUMINT agar dapat menampung lebih banyak nilai. Perubahan ini dapat dilakukan dengan mengunakan query ALTER…MODIFY sebagai berikut:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;

Contoh query Alter…Modify:

mysql> ALTER TABLE daftar_jurusan MODIFY jumlah_mahasiswa MEDIUMINT;
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC daftar_jurusan;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
| alamat           | varchar(100) | YES  |     | NULL    |       |
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

Dari query DESC kita dapat melihat bahwa tipe data pada kolom jumlah_mahasiswa telah berubah menjadi MEDIUMINT.


Cara Merubah Nama Kolom Tabel MySQL

Untuk merubah nama kolom pada tabel yang sudah ada, dapat menggunakan perintah ALTER…CHANGE, dengan format query sebagai berikut:

ALTER TABLE nama_tabel CHANGE nama_kolom nama_kolom_baru tipe_data;

Katakan kita ingin merubah nama kolom alamat menjadi alamat_jurusan agar menjadi lebih spesifik, dapat dilakukan dengan query berikut:

Contoh query Alter…Change:

mysql> ALTER TABLE daftar_jurusan CHANGE alamat alamat_jurusan VARCHAR(100);
Query OK, 0 rows affected (0.06 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC daftar_jurusan;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
| alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

Cara Merubah Nama Tabel MySQL

Untuk beberapa kasus tertentu, mungkin saja kita memutuskan untuk merubah nama tabel MySQL. Untuk hal ini MySQL menyediakan query ALTER…RENAME TO dengan format query:

ALTER TABLE nama_tabel_lama RENAME TO nama_tabel_baru;

Kita contohkan merubah tabel daftar_jurusan menjadi tabel_jurusan, maka querynya:

Contoh query Alter…Rename To:

mysql> ALTER TABLE daftar_jurusan RENAME TO tabel_jurusan;
Query OK, 0 rows affected (0.06 sec)

mysql> DESC daftar_jurusan;
ERROR 1146 (42S02): Table 'mahasiswa.daftar_jurusan' doesn't exist

mysql> DESC tabel_jurusan;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
| alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

Dapat kita lihat bahwa setelah merubah nama tabel menjadi tabel_jurusan, tabel daftar_jurusan sudah tidak terdapat lagi di dalam database mahasiswa.

Selain query ALTER…RENAME TO, terdapat juga perintah RENAME untuk merubah nama tabel,format querynya:

RENAME TABLE nama_tabel_lama TO nama_tabel_baru;

Mari kita rubah kembali nama tabel tabel_jurusan menjadi daftar_jurusan:

Contoh query Alter…Rename To:

mysql> RENAME TABLE tabel_jurusan TO daftar_jurusan;
Query OK, 0 rows affected (0.07 sec)

mysql> DESC tabel_jurusan;
ERROR 1146 (42S02): Table 'mahasiswa.tabel_jurusan' doesn't exist

mysql> DESC daftar_jurusan;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| kode_jurusan     | char(5)      | YES  |     | NULL    |       |
| nama_jurusan     | varchar(20)  | YES  |     | NULL    |       |
| alamat_jurusan   | varchar(100) | YES  |     | NULL    |       |
| jumlah_mahasiswa | mediumint(9) | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
4 rows in set (0.01 sec)

Cara Menambahkan Kolom Baru pada Tabel MySQL

Andaikan beberapa saat kemudian kita berfikir untuk menambahkan kolom yang berisi nama ketua jurusan ke dalam tabel daftar_jurusan, kita dapat saja menghapus tabel dan membuat ulang, namun dengan menggunakan query ALTER…ADD, menambahkan kolom baru dapat dilakukan dengan lebih mudah.

ALTER TABLE nama_tabel ADD nama_kolom_baru tipe_data;

Contoh query menambahkan kolom ketua_jurusan ke dalam tabel daftar_jurusan adalah:

Contoh query Alter…Add:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
0

Cara Menghapus Kolom Tabel MySQL

Kebalikan dari menambahkan kolom baru, query ALTER…DROP dapat digunakan untuk menghapus sebuah kolom dari tabel MySQL.

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
1

Mari kita contohkan dengan menghapus kolom ketua_jurusan dari tabel daftar_jurusan:

Contoh query Alter…Drop:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
2

Cara Merubah Tipe Data Table (Table Engine) MySQL

MySQL menyediakan beberapa tipe data untuk beberapa keperluan, seperti tipe data (disebut juga dengan engine tabel) MyISAM untuk tabel yang dioptimalisasikan untuk keperluan pembacaan yang lebih sering, atau tipe data InnoDB untuk tabel yang memerlukan transaksi.

Perubahan tipe data dari MyISAM ke InnoDB atau sebaliknya dapat menggunakan perintah ALTER…ENGINE:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
3

Dalam MySQL versi 5.5 yang saya gunakan pada tutorial ini, default enginenya adalah InnoDB, hal ini berbeda jika dibandingkan dengan versi MySQL sebelumnya yang menggunakan tipe tabel MyISAM sebagai default.

Pada contoh query dibawah ini kita akan merubah tipe data tabel daftar_jurusan dari InnoDB menjadi MyISAM.

Contoh query Alter…Engine:

ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru;
4

Query SHOW TABLE STATUS digunakan untuk melihat engine apa yang digunakan dalam sebuah tabel. Penjelasan tentang tipe tabel akan kita pelajari pada tutorial tersendiri.


Dalam tutorial belajar MySQL kali ini kita telah membahas tentang query ALTER TABLE yang digunakan untuk mengubah struktur tabel di dalam MySQL. Dalam tutorial selanjutnya, kita akan mempelajari Cara Menambahkan data (Query INSERT) di dalam MySQL

Apa saja perintah Alter?

ALTER: Perintah alter digunakan untuk melakukan perubahan struktur tabel yang telah dibuat. Misalnya, menambah Field (Add), mengganti nama Field (Change) ataupun menamakannya kembali (Rename), dan menghapus Field (Drop). Dengan contoh ALTER TABLE nama_tabel ADD nama_kolom datatype.

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.

Apakah perintah yang berguna mengubah struktur sebuah tabel yang sudah terbuat?

Perintah ALTER berfungsi untuk mengubah struktur tabel yang telah dibuat. Adapun diantaranya yakni mengubah nama tabel, menambah kolom, mengubah kolom, menghapus kolom, dan memberikan atribut pada kolom. Perintah DROP berfungsi untuk menghapus database dan tabel yang telah dibuat.