Badoy Studio

Lengkap! Perbedaan CHAR dan VARCHAR pada MySQL

Halo semuanya, pada artikel kali ini kita akan membahas mengenai perbedaan tipe data CHAR dan VARCHAR pada MySQL. Ingin tahu selengkapnya seperti apa? Cek melalui ulasan berikut ini.



Dua Tipe Data yang Termasuk ke dalam Tipe Data String

CHAR dan VARCHAR adalah tipe data yang berupa karakter atau huruf. Kalau dalam programming biasanya dikenal dengan istilah tipe data string.

Di MySQL sendiri ada beberapa tipe data string yang sering digunakan, di antaranya yaitu :

  • CHAR
  • VARCHAR
  • BINARY
  • VARBINARY
  • TEXT
  • Dan BLOB

Semua tipe data mempunyai fungsi juga perbedaan. Termasuk CHAR dan VARCHAR.

Lalu Apa Sih Perbedaan CHAR dan VARCHAR?

Ternyata saat hendak menggunakan tipe data string pada MySQL masih banyak yang bingung mengenai perbedaan CHAR dan VARCHAR. Sekilas memang mirip dari namanya, apalagi kategorinya juga sama yaitu tipe data string, tapi ternyata keduanya berbeda dalam hal fungsi dan kegunaannya.

CHAR dan VARCHAR memiliki maksimal jumlah huruf atau karakter yang bisa diisikan. Contohnya, jika kita menetapkan maksimal 20 karakter, maka jumlah yang akan tersimpan hanya 20. Jika lebih maka tidak akan disimpan ke database.

Selain itu CHAR dan VARCHAR juga dapt menampung angka. Namun, untuk angka sendiri sebetulnya kurang efektif jika menggunakan tipe data tersebut. Lalu apa perbedaan di antara keduanya? Yaitu sebagai berikut :

Jumlah Maksimal

Pertama, dari jumlah maksimal karakter yang bisa ditampung.

  • CHAR bisa menampung 65.535 karakter
  • VARCHAR bisa menampung 255 karakter

Ukuran Penyimpanan

Perbedaan CHAR dan VARCHAR berikutnya yaitu pada ukuran penyimpanan. Contohnya :

  • Jika kamu membuat sebuah kolom menggunakan CHAR lalu menentukan karakter yang bisa diinput hanya 20 karakter. Kemudian kamu menginputkan 4 karakter saja maka yang disimpan pada database MySQL tetap akan 20 karakter yaitu sesuai karakter yang ditentukan.
  • Nah, berbeda jika kamu menggunakan VARCHAR, kalau kamu menetapkan maksimal karakternya sebanyak 20 lalu pada saat diinput hanya 4 karakter, yang terhitung tetap 4 saja.
perbedaan tipe data char dan varchar
Sumber : kodingin.com

Kemudian ukuran penyimpanan untuk VARCHAR biasanya berubah-ubah tergantung data yang diinput. Tetapi sebtulnya VARCHAR hanya membutuhkan 1 byte tambahan untuk menyimpan panjang data yang diinput. Lalu untuk CHAR sendiri tidak membutuhkan tambahan byte.  Seperti pada gambar di atas ya contohnya.

Dari perbedaan ini kita bisa tahu jika VARHCAR akan lebih sedikit memakan kapasitas penyimpanan ya dibandingkan dengan CHAR.

Menginputkan Data dengan Spasi

  • Jika kamu menggunakan tipe data CHAR dan menginputkan spasi dibelakangnya setelah kata, conothnya “ kamu   “ (ada 5 spasi setelah kata), spasi tersebut akan otomatis dihapus oleh MySQL sehingga menjadi “kamu” saja.
  • Berbeda dengan VARCHAR, kalau kamu menginputkan kata “ kamu “ (ada 3 spasi setelah kata) maka akan ditampilkan pula spasinya.


Penggunaan CHAR dan VARCHAR

VARCHAR akan lebih sesuai jika digunakan untuk kolom yang isinya berupa data dinamis atau berbeda-beda, misalkan data :

  • Nama
  • Alamat
  • Kota
  • Provinsi

Sedangkan CHAR lebih cocok dipakai untuk input data dengan jumlah karakter yang tetap. Contohnya :

  • Nomor Induk Siswa
  • Nomor KTP
  • IDE pegawai

 Contoh Penggunaan Tipe Data CHAR dan VARCHAR

Misalkan di sini kita akan membuat data mahasiswa :

  • Nama dengan jumlah karakter 90 akan menggunakan VARCHAR
  • Lalu NIM yaitu Nomor Induk Mahasiswa dengan jumlah karakter 8 dan akan menggunakan tipe data CHAR

Penulisan di MySQLnya yaitu :

mysql> CREATE TABLE mahasiswa (NIM CHAR(8), name VARCHAR(90));
Query OK, 0 rows affected (0.25 sec)


Layanan kami : 


Penutup

Itulah ulasan singkat mengenai perbedaan tipe data CHAR dan VARCHAR pada MySQL. Sekarang apakah kamu masih bingung dengan penggunaan kedua tipe data tersebut? Semoga sudah tercerahkan ya. Jika artikel ini dirasa bermanfaat jangan lupa share ke temanmu yang lainnya juga.

Sumber gambar utama: https://www.zend.com/

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.