Memahami Tipe Data MySQL: Cara membuat Tipe Data pada MySQL

Memahami Tipe Data MySQL: Cara membuat Tipe Data pada MySQL

Memahami Tipe Data MySQL.. Di tutorial ini kita akan berkenalan dengan beberapa jenis tipedata di MySQL yang wajib dan sering digunakan dalam mengelola data.

kenapa kita membutuhkan tipedata...?

pada saat kita membuat table.. kita harus menentukan tipedata pada tiap-tiap kolom yang kita buat disebuah table. jika kita tidak menentukan tipedata pada saat membuat table, maka akan terjadi error dan table pun tidak akan jadi dibuat.

Tipedata di MySQL yang tersedia banyak sekali mulai dari yang sederhana sampai yang kompleks.Langsung saja kita mulai, berikut ini beberapa tipedata mysql:

  1. Tipe Data Number
  2. Tipe Data String
  3. Tipe Data Boolean
  4. Tipe Data Date & Time

Tipe Data Number

Tipedata number di MySQL adalah tipedata yang menampung nilai berupa angka, Ada beberapa jenis dari tipe data number di MySQl, berikut ini:

  • Bilangan Bulat(Integer)
  • Bilangan Pecahan(Floating Point)
  • Decimal
  • Number Attribute

Next... kita akan pahami satu persatu dan bagaimana mengimplementasikan tipedata number diatas.

Bilangan Bulat(Integer)

Tipedata number integer di MySQL banyak sekali jenisnya, berikut ini ada beberapa tipedata integer:

Type Data Length Minimum Value(SIGNED) Maximum Value(SIGNED) Minimum Value(UNSIGNED) Maximum Value(UNSIGNED)
TINYINT 1 Byte -128 127 0 255
SMALLINT 2 Byte -32678 32767 0 65535
MEDIUMINT 3 Byte -8388608 8388607 0 16777215
INT 4 Byte -2147483648 2147483647 0 4294967295
BIGINT 8 Byte -9223372036854775808 9223372036854775807 0 18446744073709551615

Ada beberapa tipedata integer yang sering digunakan seperti INT dan BIGINT, Ok... mari kita implementasikan tipedata integer MySQL, berikut ini implementasinya.

Demonstrasi:

CREATE TABLE user( id INT UNSIGNED );

Contoh demonstrasi diatas kita menggunakan perintah SQl DDL(Data Definition Language) untuk membuat tabel user.. Ditabel user kita membuat satu column yaitu id dengan mengeset Tipedatanya adalah INT UNSIGNED yang artinya tidak boleh negatif

Di MySQL untuk menuliskan perintah SQL tidak Case Sensitive artinya huruf kecil atau besar tidak dibedakan.

Hasil Tabel Yang Sudah Dibuat:

Untuk implementasi jenis Tipedata Lainnya sama seperti contoh diatas, hanya saja berbeda kapasitas penyimpanan dalam memory nya saja.

Floating Point

Tipedata number Floting Point di MySQL ada dua jenis, berikut ini ada beberapa tipedata floting point:

Type Data Length Minimum Value(SIGNED) Maximum Value(SIGNED) Minimum Value(UNSIGNED) Maximum Value(UNSIGNED)
FLOAT 4 Byte -3.402823466E +38 -1.175494351E -38 1.175494351E -38 3.402823466E +38
DOUBLE 8 Byte --1.7976931348623157E +308 -2.2250738585072014E -308 1.7976931348623157E +308 2.2250738585072014E -308

Decimal

Tipedata decimal ini khusus yang bisa ditentukan jumlah presisi dan skala nya

Type Data Minimum Value Maximum Value
DECIMAL(4,2) -99.99 -99.99
DECIMAL(3) -999 -999
DECIMAL(5,2) -999.99 -999.99

Attribute

Type Data Description
TYPE(N) adalah jenis tipedata yang digunakan untuk menentukan panjang dari tipedata N adalah panjang data
ZEROFILL untuk menambahkan angka 00 sebelum nilai dari tipedata, contoh INT(5) saat data dimasukkan maka 001

Demonstrasi:

ALTER TABLE user MODIFY id INT(100);

Contoh diatas kita menggunakan syntak SQL DDL untuk melakukan perubahan struktur dari table user... perubahan yang kita lakukan adalah menggunakan tipedata attribute yang panjangnya ditentukan yaitu 100.


String

Tipedata String di MySQL adalah tipedata yang menampung nilai berupa teks atau tulisan, Ada beberapa Jenis Tipedata String di MySQL berikut ini:

  • Char & Varchar
  • Text
  • Enum

Char dan Varchar

Char dan Varchar adalah Tipedata String yang digunakan untuk menampung nilai berupa teks atau karakter.

Type Data Maximum Value
CHAR(N) 65535
VARCHAR(N) 65535

Jumlah karakter yang bisa ditampung Char dan Varchar adalah dengan menggunakan kurung buka dan tutup, Lalu jumlah Maksimal yang harus ditampung.

Contohnya...

Misalnya CHAR(10) atau VARCHAR(10) artinya kedua Tipedata tersebut hanya dapat menampung sebanyak 10 karakter saja. Terus apa bedanya Char dan varchar...? Kalau kedua-duanya untuk menampung nilai karakter..

Perbedaanya adalah ketika menggunakan CHAR(4) panjangnya sudah terdaftar didalam Memory walaupun kita tidak mengisi nilai pada Tipedata tersebut

Sedangkan VARCHAR(4) panjangnya akan terdaftar didalam Memory jika kita mengisi nilai pada Tipedata tersebut.

Demonstrasi Perbedaan CHAR & VARCHAR:

Memahami Tipe Data MySQL: Cara membuat Tipe Data pada MySQL

Kalau saya ditanya lebih baik menggunakan yang mana... saya sendiri sering menggunakan VARCHAR(N) untuk menampung nilai String.

Demonstrasi:

CREATE TABLE user( id INT UNSIGNED, username VARCHAR(35), password CHAR(32), );

Hasil Tabel Yang Sudah Dibuat:

Text

Text merupakan Tipedata String di MySQL yang digunakan untuk menyimpan nilai berupa karakter. Berikut ini ada Beberapa jenis Tipedata TEXT:

Type Data Maximum Character
TINYTEXT 255
TEXT 65535
MEDIUMTEXT 16777215
LONGTEXT 4294967295

Berbeda dengan Char dan Varchar dimana panjang nilai Karakternya bisa ditentukan.. TEXT sudah memiliki panjang maksimumnya.

Demonstrasi:

ALTER TABLE user ADD COLUMN address TEXT;

Hasil Tabel Yang Sudah Dibuat:

Enum

Enum merupakan salah satu jenis Tipedata String di MySQL yang digunakan untuk menyimpan nilai Karakter yang sudah ditentukan nilainya

Contohnya...?

Misalkan kita membuat ENUM('pria','wanita') Artinya dia hanya bisa menerima Data inputan pria atau wanita saja, selain dari itu tidak akan diterima.

Demonstrasi:

ALTER TABLE user ADD COLUMN gender ENUM('pria','wanita');

Hasil Tabel Yang Sudah Dibuat:


Boolean

Tipedata Boolean di MySQL adalah Tipedata Kebenaran artinya datanya hanya ada dua jenis Benar atau Salah.. Yaitu TRUE dan FALSE.

Penulisan tipedata Boolean di MySQl tidak Case Sensitive artinya mau huruf besar atau kecil tidak masalah true dan false sama dengan TRUE dan FALSE.


Date dan Time

Tipedata Date dan Time merupakan tipedata yang digunakan untuk menampung nilai berupa tanggal atau waktu, berbeda dengan tipedata lainnya seperti yang diatas Berikut ini Beberapa jenis tipedata Date dan Time:

Type data Format Contoh
DATE YYYY-MM-DD 2021-04-20
TIME HH-MM-SS 08:23:00
YEAR YYYY 2021
DATETIME YYYY-MM-DD HH-MM-SS 2021-04-20 08:23:00
TIMESTAMP YYYY-MM-DD HH-MM-SS 2021-04-20 08:23:00
ALTER TABLE user ADD COLUMN birthday DATE

Hasil Tabel Yang Sudah Dibuat: