MySQL Membuat Database dengan UTF8 Character Set

Memiliki database adalah langkah pertama agar kita bisa mengelola database. Sudah tentu langkah pertama adalah membuat database. Pada MySQL terdapat GUI untuk membuat dan mengelola database, semisal kita menginstall MySQL pada paket XAMPP kita dapat langsung menggunakan phpMyAdmin, tapi kali ini kita bahas langsung menggunakan SQL saja pada DDL atau Data Definition Language menggunakan CREATE DATABASE. Database yang dibuat juga langsung kita lengkapi dengan UTF8 Character Set.

SQL untuk membuat database dengan UTF8 Character Set dapat dilihat pada syntax SQl dibawah:

CREATE DATABASE `nama_database` CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON `nama_database`.* TO `nama_user`@localhost IDENTIFIED BY 'password_user';

Untuk membuat database hanya diperlukan baris pertama, untuk baris kedua jika sekalian diberikan hak akses ke user tertentu, jika tidak diberikan, default setting koneksi nama_user nya "root" dan passwordnya kosong selama masih di localhost.

Untuk menjelaskan apa itu UTF8 akan cukup panjang, tapi secara singkat gini, penulisan huruf kan ada banyak cara ni di setiap negara, kebanyakan adalah tulisan latin a-z A-Z 0-9, akan tetapi ada bahasa yang tidak menggunakan tulisan itu seperti tulisan Arab, Jepang, Korea, China yang tulisannya kalo tidak pernah belajar kita mengeja saja juga tidak akan bisa, lha untuk MySQL dapat menuliskan huruf-huruf itu ke database diperlukan si Character Set ini, salah satunya adalah UTF8.

Gimana untuk penjelasan sedikit tentang Character Set UTF8 udah sedikit mengerti ya. untuk panjang lebarnya dan lebih ke teknisnya dapat dilihat semisal disini dev.mysql.com dan disini id.wikipedia.org

Sedikit lagi mumpung ingat, akhiran _ci pada utf8_general_ci menandakan bahwa data yang disimpan akan bersifat Case Insensitive atau tidak membedakan huruf besar dan kecil semisal pada proses pencarian.

Selain sintax SQL diatas dapat juga digunakan sintax SQL dibawah:

CREATE SCHEMA `nama_database` CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL ON `nama_database`.* TO `nama_user`@localhost IDENTIFIED BY 'password_user';

CREATE SCHEMA ini merupakan sinonim dari CREATE DATABASE, referensinya dapat dilihat disini.

Just it, kita sudah membuat databse dengan Charset UTF8 dan Collation UTF8_general_ci, langkah selanjutnya tinggal membuat tabel-tabel sesuai kebutuhan. Caranya mudah juga, sekilas dapat dilihat dibawah.

USE `nama_database`
CREATE TABLE `nama_tabel` `kolom_1` tipe_data(lebar_data) UNSIGNED AUTO_INCREMENT PRIMARY KEY, `kolom_2` tipe_data(lebar_data) NOT NULL, `kolom_3` tipe_data,
.... dan seterusnya... PRIMARY KEY (`kolom_1`) )

Sebagai contoh

CREATE TABLE `artikel`  
  `id` bigint(20) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  `judul` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `isi` text,
  PRIMARY KEY (`id`)
) 

Semoga bermanfaat.