3. Membuat dan Menghapus Tabel

Tutorial Belajar MySQL Part 12: Cara Membuat dan Menghapus Tabel MySQL

Setelah kita membuat database pada Tutorial Belajar MySQL: Cara Membuat dan Menghapus Database MySQL, pada tutorial ini, kita akan mempelajari cara membuat tabel, melihat struktur tabel, dan menghapus tabel MySQLQuery yang akan kita gunakan adalah: CREATE tabel, SHOW tables, DESCRIBE tabel, dan DROP table.

Kita akan mengakses MySQL Server menggunakan MySQL Client melalui cmd Windows, tutorialnya telah kita bahas pada Tutorial Belajar MySQL: Menjalankan MySQL Server, dan Tutorial Belajar MySQL: Menjalankan MySQL Client. Masuklah sebagai user root.


Cara Membuat Tabel MySQL

Langkah pertama sebelum membuat tabel adalah membuat dan memilih database yang akan digunakan. Seperti pada Tutorial MySQL : Membuat dan Menghapus Database, kita akan melanjutkan menggunakan database mahasiswa. Jika anda belum membuat dan memilih database mahasiswa, silahkan ketik query berikut:

1
2
3
4
5
mysql> CREATE DATABASE mahasiswa;
Query OK, 1 row affected (0.00 sec)
 
mysql> USE mahasiswa;
Database changed

Format dasar query untuk membuat tabel adalah:

CREATE TABLE [IF NOT EXISTS] nama_tabel (daftar_kolom) [type=tipe_tabel]
  • Query opsional  [IF NOT EXISTS] sama seperti pada query pembuatan database, digunakan untuk membuat MySQL tidak menampilkan pesan error jika tabel tersebut telah ada sebelumnya dalam database.
  • Nama_tabel adalah nama dari tabel yang ingin kita buat.
  • Daftar_kolom berisi definisi dari kolom-kolom yang akan kita buat untuk database ini. Lebih lanjut tentang jenis-jenis kolom akan kita bahas dalam tutorial selanjutnya.
  • Tipe_tabel adalah query opsional dimana kita dapat mendefinisikan tipe tabel untuk tabel yang akan kita gunakan, seperti MyISAM maupun InnoDB. Lebih lanjut tentang tipe tabel akan kita bahas pada tutorial berikutnya.

Sebagai contoh, kita akan membuat tabel berdasarkan data mahasiswa berikut ini :

NIMNamaUmurTempat LahirJurusan
101401030Alex Ferdinand21PadangIlmu Komputer
120502045Joko Suprianto19JakartaManajemen
110901033Susi Sulastri20MedanKedokteran
100301021Suparman21JakartaTeknik Elektro
121401074Tania Mutia19PadangIlmu Komputer
110501023Aprilia Susanti20PekanbaruManajemen

Dari tabel tersebut kita dapat simpulkan bahwa tabel akan terdiri dari 5 buah kolom:

  • Kolom NIM (Nomor Induk Mahasiswa), walaupun isi tabel ini berupa angka, namun angka disini bukan dimaksudkan untuk operasi matematis, sehingga kita akan lebih cocok jika jika menganggapnya kumpulan karakter atau huruf, maka kita akan membuatnya dengan tipe tabel string. Dalam MySQL tipe string didefinisikan sebagai char.
  • Kolom Nama berisi karakter huruf, maka akan kita buat dengan tipe data string.
  • Kolom Umur akan berisi angka-angka, dan mungkin saja kita akan menggunakan umur untuk keperluan matematis, maka tipe data yang akan kita gunakan adalah integer.
  • Kolom Tempat Lahir berisi kumpulan karakter huruf, maka akan kita buat dengan tipe data string.
  • Kolom Jurusan berisi kumpulan karakter huruf, maka akan kita buat dengan tipe data string.

Sehingga query untuk membuat tabel data_mahasiswa seperti diatas adalah:

1
2
3
4
mysql> CREATE TABLE data_mahasiswa ( nim char(9), nama char(50),
umur int, tempat_lahir char(50), jurusan char (30) );
 
Query OK, 0 rows affected (0.08 sec)

Penjelasan query:

  • Dengan query diatas, kita telah membuat sebuah tabel dengan nama data_mahasiswa, terdiri dari 5 kolom: nim, nama, umur, tempat_lahir, dan jurusan.
  • Setelah nama kolom, kita definisikan jenis dari kolom tersebut.
  • Untuk kolom yang berisi huruf (string), dalam MySQL dapat kita definisikan sebagai char. Angka di dalam kurung adalah jumlah karakter maksimal yang dapat ditampung, misalnya untuk kolom nama, kita menginstruksikan MySQL untuk menyediakan maksimal sebanyak 50 karakter untuk kolom nama.
  • Untuk kolom yang berisi angka, MySQL menyediakan beberapa tipe yang dapat dipilih, untuk contoh diatas, kita memilih integer, disingkat menjadi int.
  • Untuk setiap kolom, dalam query CREATE TABEL, dipisahkan dengan tanda koma, dan seluruh definisi kolom harus berada diantara tanda kurung.
Penamaan kolom tidak boleh mengandung spasi, maka untuk contoh tabel data_mahasiswa, kolom Tanggal Lahir, kita ubah menjadi tanggal_lahir. Huruf besar dan kecil tidak berpengaruh dalam penamaan tabel dan kolom, tetapi bisa saja menyebabkan masalah jika kita menggunakannya ke dalam bahasa pemograman lain, seperti ke PHP atau ASP.

Untuk menghindari masalah ini, sebaiknya konsisten dalam penamaan tabel dan kolom. Dalam tutorial ini saya membuat seluruh nama database, tabel, dan kolom dengan huruf kecil, dan menggunakan tanda “_” untuk menggantikan spasi. Ini semata-mata hanya pilihan, anda bebas menggunakan penamaan yang disukai.


Cara Melihat Daftar Tabel dalam MySQL

Untuk melihat seluruh tabel yang ada pada database aktif saat ini, format querynya adalah:

SHOW TABLES;

Untuk contoh kita, karena baru ada 1 buah tabel, maka hasil eksekusi querynya adalah sebagai berikut:

1
2
3
4
5
6
7
8
mysql> SHOW TABLES;
 
+---------------------+
| Tables_in_mahasiswa |
+---------------------+
| data_mahasiswa      |
+---------------------+
1 row in set (0.07 sec)

Cara Melihat Struktur Tabel MySQL

Untuk melihat struktur dari sebuah tabel, seperti nama kolom yang tersedia, dan tipenya, dapat dilihat dengan format query:

DESCRIBE nama_tabel;

Dalam contoh kita, hasil dari DESCRIBE data_mahasiswa, adalah:

1
2
3
4
5
6
7
8
9
10
11
12
mysql> DESCRIBE data_mahasiswa;
 
+--------------+----------+------+-----+---------+-------+
| Field        | Type     | Null | Key | Default | Extra |
+--------------+----------+------+-----+---------+-------+
| nim          | char(9)  | YES  |     | NULL    |       |
| nama         | char(50) | YES  |     | NULL    |       |
| umur         | int(11)  | YES  |     | NULL    |       |
| tempat_lahir | char(50) | YES  |     | NULL    |       |
| jurusan      | char(30) | YES  |     | NULL    |       |
+--------------+----------+------+-----+---------+-------+
5 rows in set (0.01 sec)

Dari hasil query, dapat terlihat semua kolom serta tipe dari setiap kolom tersebut. Untuk keterangan kolom seperti Null, Key, Default, dan Extra akan kita bahas dalam tutorial berikutnya.

Selain query DESCRIBE nama_tabel, juga bisa menggunakan query singkat, DESC nama_tabel

Cara Menghapus Tabel MySQL

Format query untuk menghapus tabel adalah:

DROP TABLE[IF EXISTS] table_name [, table_name,...]

Query opsional [IF EXISTS] digunakan untuk menghilangkan pesan error jika tabel yang akan dihapus memang sudah tidak ada.

Dari format query DROP TABLE, dapat dilihat bahwa dalam satu query, kita dapat menghapus beberapa tabel sekaligus.

Untuk menghapus tabel data_mahasiswa, querynya adalah:

1
2
3
mysql> DROP TABLE data_mahasiswa;
 
Query OK, 0 rows affected (0.05 sec)

Setelah membuat database dan tabel dalam MySQL, untuk tutorial selanjutnya kita akan membahas tipe data yang digunakan dalam setiap tabel MySQL.

MySQL menyediakan berbagai tipe data sesuai dengan keperluan data yang akan kita input kedalam tabel. Tipe data pertama yang akan kita bahas adalah tipe data numerik, lebih jauh di dalam Tutorial Belajar MySQL: Tipe Data Numerik.