Mengetahui Perbedaan Char Dan Varchar


Mengetahui Perbedaan Char Dan Varchar – Pada MySQL kita mengenal ada beberapa tipe data numerik. Tipe data ini merupakan tipe data berupa karakter ataupun huruf. Dalam bahasa pemrograman dikenal juga dengan istilah tipe data string.

MySQL menawarkan beberapa tipe data string yang bisa dimanfaatkan oleh para penggunanya. Di antaranya CHAR, VARCHAR, BINARY, VARBINARY, TEXT, dan BLOB. Masing-masing tipe tersebut mempunyai perbedaan yang terletak pada ukuran, cara penyimpanan, hingga dukungan case-insensitive atau perbedaan huruf besar dan kecil.



char varchar 1

Baca juga: Normalisasi Database

Dari beberapa tipe data string yang kami sebutkan di atas, tidak sedikit yang bingung mengenai perbedaan antara CHAR dan VARCHAR. Karena di samping sebutannya yang terlihat mirip, keduanya juga sama-sama merupakan tipe data string.

Kendati demikian baik CHAR dan VARCHAR tetap mempunyai beberapa perbedaan. Sehingga kita perlu mengetahui perbedaan beserta kegunaan masing-masing tipe data string tersebut agar dapat menentukan mana yang tepat untuk kebutuhan kita.

Perlu diketahui tipe data CHAR dan VARCHAR mempunyai nilai jumlah karakter maksimal yang dapat diisi. Contohnya jika pengguna menetapkan maksimal 8 karakter, maka itu artinya karakter yang dapat disimpan hanya 8 karakter saja. Sedangkan jika lebih dari itu tidak akan disimpan ke dalam database.



Kedua tipe data ini tidak hanya bisa memuat huruf saja, namun juga angka. Akan tetapi tipe data string ini tidak cocok dipakai untuk memasukkan angka jika anda berniat untuk melakukan perhitungan dengan angka-angka yang Anda masukkan.

Agar lebih jelas mari kita bahas definisi tipe data string CHAR dan tipe data string VARCHAR. Silakan simak pembahasan selengkapnya di bawah ini.

Tipe Data String CHAR

Pada MySQL CHAR adalah tipe data string yang mempunyai nilai panjang yang tetap atau fixed-length. Artinya saat Anda mengatur panjang nilai pada suatu data dengan tipe data  CHAR, maka sistem MySQL akan mengalokasikan panjang data sesuai dengan yang sudah Anda masukkan.

Misalnya jika Anda mengalokasikan panjang CHAR (5) dengan nilai lima, maka MySQL akan menyesuaikannya dengan menetapkan alokasi dengan jumlah lima karakter.



Seperti yang sudah disinggung di atas, tipe data CHAR bisa menampung karakter huruf maupun angka. Akan tetapi jika dipakai untuk menyimpan data yang bermacam-macam seperti nama, alamat, dan informasi lainnya maka akan banyak kapasitas memori yang terpakai. Maka dari itu CHAR lebih cocok dipakai untuk menyimpan data dengan nilai tetap, seperti jenis kelamin, status pernikahan, dan lain-lain.

Untuk diketahui, bentuk dasar penulisan tipe data ini adalah:

CHAR(M) [BINARY]

Sebagai informasi, CHAR(1) hanya ditulis CHAR saja, dengan aturan 1<=M<=255. Apabila terdapat sisa maka sisa tersebut diisi dengan spasi. Contohnya nilai M adalah 12, namun data yang disimpan hanya mempunyai karakter 8. Maka 4 karakter sisanya diisi dengan spasi.

Spasi tersebut akan dihilangkan jika data dipanggil. Di samping itu nilai dari CHAR akan diurutkan dan dibandingkan dengan metode case-insensitive berdasarkan default character set yang tersedia. Kecuali jika atribut BINARY juga diikutkan.



Tipe Data String VARCHAR

Jika ingin menampung data yang panjangnya tidak tetap, maka akan lebih tepat jika menggunakan tipe data VARCHAR. Dengan menggunakan VARCHAR maka MySQL akan mengalokasikan data berdasarkan input yang diisikan oleh pengguna.

Contohnya Anda menentukan panjang data 20 karakter. Seandainya pengguna hanya mengisi sebanyak 10 karakter saja, maka data yang disimpan dalam database juga sebatas 10 karakter walaupun sudah ditetapkan sebelumnya sebanyak 20 karakter.

Sebenarnya VARCHAR ini sudah digantikan oleh VARCHAR2 oleh Oracle. Jika Anda amati, pada saat Anda mencoba membuat tipe data VARCHAR, maka Oracle akan mengubahnya secara otomatis menjadi VARCHAR2. Akan tetapi tidak perlu bingung, sebab keduanya mempunyai fungsi yang sama saja. Yakni untuk menyimpan data-data dengan tipe alfanumerik sesuai panjang data yang ditetapkan.

Bentuk penulisan dasar data string ini adalah:

VARCHAR (M) [BINARY]

Ukuran dari tipe data ini adalah L+1 byte dengan L<=M dan 1<=M<=255. Panjang data ini bisa bervariasi. Apabila nilai M adalah 20, sementara data yang disimpan hanya sebanyak 10 karakter saja, maka lebar data tersebut juga hanya 10 karakter saja dan tidak ada tambahan spasi seperti pada CHAR.

Perbedaan CHAR dan VARCHAR

Berdasarkan penjelasan di atas sudah dapat diketahui apa perbedaan kedua tipe data tersebut. Tipe CHAR mempunyai panjang nilai yang bersifat tetap. Artinya saat panjang data ditetapkan sebanyak 10 karakter, maka yang disimpan nantinya tetap 10 karakter meskipun yang dimasukkan hanya 5 karakter.

Berbeda dengan VARCHAR yang sifatnya tidak tetap. Jika panjang data yang ditetapkan adalah 10 karakter, maka saat pengguna memasukkan 5 karakter yang tersimpan juga hanya sebanyak 5 karakter saja.

Selain itu tipe data CHAR umumnya dipakai untuk field-field yang panjang nilainya bersifat tetap. Contohnya bisa jenis kelamin, kode barang, nomor induk kependudukan, dan lain sebagainya.

Lalu untuk tipe data VARCHAR lebih sesuai dipakai untuk nilai data atau field yang panjangnya tidak selalu sama. Contohnya adalah nama, alamat, hobi, dan lain sebagainya.



Leave a Comment