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 MySQL. Query 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:

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:

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:

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:

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:

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.

38 Comments

  1. Bara
    21 Nov 14
    • Andre
      24 Nov 14
  2. Nani Indriyani
    28 Dec 14
    • Andre
      29 Dec 14
  3. vicky
    27 May 15
    • Bayu
      04 Jan 21
  4. Herry
    22 Oct 15
    • Andre
      22 Oct 15
  5. Iwan
    26 Nov 15
    • Iwan
      26 Nov 15
    • Andre
      27 Nov 15
  6. BirLin
    15 Dec 15
    • Andre
      15 Dec 15
  7. akbar
    13 Jan 16
    • Andre
      14 Jan 16
  8. Adit
    25 Jan 16
    • Adit
      25 Jan 16
  9. adiguna wijaya
    09 Aug 17
  10. haerul azis
    07 Feb 18
  11. prstyo zamin
    08 Feb 18
    • Andre
      10 Feb 18
      • prstyo zamin
        12 Feb 18
  12. Zulgani
    07 Apr 18
    • Andre
      08 Apr 18
  13. imran
    19 Oct 18
    • Andre
      20 Oct 18
  14. Mels
    02 Apr 19
    • Andre
      02 Apr 19
  15. andy
    26 May 19
  16. Anonymous
    26 Jan 20
    • Andre
      28 Jan 20
  17. fasya
    29 Jun 21
  18. Aden mulyanto
    10 Nov 22
    • Andre
      11 Nov 22
  19. akhir
    14 Jul 23
  20. sheshhhh
    04 Aug 23
  21. arif
    22 Dec 23

Add Comment