Macam Macam Tipe Data Pada MySQL dan Contohnya

6 min read

Macam Macam Tipe Data Pada MySQL dan Contohnya

Setelah pada tutorial sebelumnya kita telah membahas tentang Apa itu dcl ,dml dan ddl (contoh dan kegunaan nya) , pada tutorial kali ini kodekreasi akan membahas tentang macam macam tipe data pada mysql dan contohnya. Fungsi Tipe data pada MySQL adalah untuk mendefinisikan setiap kolom pada tabel di database MySQL. Tipe data yang sudah ditentukan dari awal pada setiap kolom pada tabel akan memberitahu MySQL jenis data yang dapat disimpan, berapa banyak ruang yang disediakan untuk data, serta jenis operasi yang dapat dilakukan dengan tipe data ini. Ada banyak macam macam tipe data pada MySQL namun secara garis besar tipe-tipe data tersebut dikelompokkan menjadi 5 kategori utama seperti berikut.

Tipe data dalam MySQL dan contohnya

  • Tipe Data Numeric
  • Tipe Data Date & Time
  • Tipe Data String
  • Tipe Data Spasial
  • Tipe Data JSON

Macam macam tipe data pada mysql dan contohnya

Tipe Data Numeric

Tipe data number pada MySQL merupakan tipe data yang dapat digunakan untuk menyimpan data numeric atau angka . Tipe data numeric pada MySQL ini didukung dengan operasi arimetika seperti penambahan, pengurangan, perkalian dan pembagian. Kategori tipe data numeric dibagi lagi kedalam beberapa kelompok sesuai dengan penggunaanya seperti berikut ini:

  • Tipe data integer
  • Tipe data Floating-point
  • Tipe data Fixed-point
  • Tipe data Bit-value

Tipe data integer

Jika kalian bertanya mengenai tipe data mysql yang menangani bilangan bulat itu apa ? tipe data yang digunakan untuk bilangan bulat adalah integer. Tipe data Integer pada MySQL digunakan untuk pada bilangan angka bulat yang mencakup bilangan positif maupun negatif seperti ( 1, 2, 3, 4, -1, -2, -3 dan lain-lain) . Namun tipe data integer ini tidak menangani bilangan pecahan seperti (1/2, 1/3 , 1/4 dan lain-lain). Tipe data ini dibagi lagi berdasarkan ukuran , panjang serta jangkauanya seperti pada tabel berikut ini :

UkuranRange jangkauan(unsigned)Range jangkauan(signed)
TINYINT1 0 sampai 255-128 sampai 127
SMALLINT20 sampai 65535-32768 sampai 32767
MEDIUMINT30 sampai 16777215-8388608 sampai 8388607
INT40 sampai 4294967295-2147483648 sampai 2147483647
BIGINT80 sampai 18446744073709551615-9223372036854775808 sampai 9223372036854775807
tipe data dalam mysql dan contohnya

Cara penulisan tipe data integer di mysql adalah seperti berikut ini :

INT[(M)] [UNSIGNED] [ZEROFILL]

Tipe Data Floating-Point ( Float dan Double)

Tipe data Floating point berfungsi untuk menyimpan data dalam bentuk bilangan decimal atau bilangan pecahan . Sebenarnya Floating point ini fungsinya hampir sama dengan tipe data Fixed point , namun pada tipe data floating point jumlah angka pecahan (angka di belakang koma) lebih flexibel dan jumlahnya pun dapat berbeda-beda setiap datanya sehingga tipe data ini akan sangat cocok digunakan untuk perhitungan data dengan presisi tinggi.

Tipe data ini dibagi lagi berdasarkan ukuran , panjang serta jangkauanya seperti pada tabel berikut ini :

UkuranRange jangkauan(unsigned)Range jangkauan(signed)
FLOAT41.175494351E-38 sampai 3.402823466E+38-3.402823466E+38  sampai -1.175494351E-38
DOUBLE80 dan 2.22507385850720 14E- 308 sampai 1.797693134862315 7E+ 308-1.7976931348623 157E+ 308 sampai -2.22507385850720 14E- 308
Tabel daftar tipe data floating point

Cara penulisan tipe data floating point di mysql adalah seperti berikut ini :

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

Tipe Fixed Point MySQL (DECIMAL)

Tipe data fixed point atau tipe data decimal MySQL fungsinya hampir sama dengan tipe data floating point dimana tipe data ini digunakan untuk menympan data dalam bentuk bilangan decimal atau bilangan pecahan . Namun pada tipe data fixed point ini jumlah digit angka pecahan (angka di belakang koma) sudah ditentukan dari awal sehingga jumlah digit pada masing-masing data jumlahnya akan tetap. Jadi semisal data decimal diatur 2 digit maka data-data lainya pun nilai decimalnya adalah 2 digit seperti 2,01 atau 2,02 dll.

Tipe data fixed point ini dibagi lagi berdasarkan ukuran , panjang serta jangkauanya seperti pada tabel berikut ini :

Jangkauan
DECIMAL (4,1)-999,9 sampai 999,9
DECIMAL (6,2)-9999,99 sampai 9999,99
DECIMAL (3,2)-9,99 sampai 9,99
DECIMAL (8,2)-999999,99 sampai 999999,99
Tabel daftar tipe data fixed point

Cara penulisan tipe data fixed point di mysql adalah seperti berikut ini :

DECIMAL [(M[,D])] [UNSIGNED] [ZEROFILL]

Tipe Data Date & Time

Tipe data date & time pada mysql sering digunakan pada MySQL. Tipe data ini berfungsi untuk menyimpan data tanggal dan waktu.

Tipe data date & time ini meliputi:

Tipe DataRangeSizeZero Value
Date1000-01-01 sampai 9999-12-313 byte0000-00-00
DATETIME1000-01-01 00:00:01 sampai 9999-12-31 23:59:598 byte
0000-00-00 00:00:00
TIMESTAMP
1970-01-01 00:00:00 sampai 2038-01-18 22:14:07
4 byte
0000-00-00 00:00:00
TIME838:59:59 sampai 838:59:583 byte00:00:00
YEAR(2)00 sampai 991 byte00
YEAR(4)1901 sampai 21551 byte0000
Tabel daftar tipe data date & time

Dari beberapa tipe data date & time diatas , MYSQL menyediakan beberapa pilihan format untuk tipe data date pada MySQL seperti berikut ini :

Tipe Data Format Input
DATETIME‘CCYY-MM-DD hh:mm:ss’
TIMESTAMP‘YY-MM-DD hh:mm:ss’
‘CCYYMMDDhhmmss’
‘YYMMDDhhmmss’
CCYYMMDDhhmmss
YYMMDDhhmmss
DATE‘CCYY-MM-DD’
‘YY-MM-DD’
‘CCYYMMDD’
‘YYMMDD’
CCYYMMDD
YYMMDD
TIME‘hh:mm:ss’
‘hhmmss’
hhmmss
YEAR‘CCYY’
‘YY’
CCYY
YY
Tabel macam macam tipe data pada mysql ( tipe data date)

Berikut ini adalah penjelasan dari format input tipe data date pada mysql pada tabel diatas :

  • CCYY : digunakan untuk mendefinisikan tahun dengan 4 digit, seperti 2001, 1987, 2012. Sedangkan untuk mendefinisikan tahun dalam 2 digit dapat menggunakan YY contohnya seperti 98, 78, dan 00. Untuk tahun dengan 2 digit, MySQL mengkonversinya dengan aturan 70-99 menjadi 1970-1999 dan 00-69 menjadi 2000-2069.
  • MM: digunakan untuk mendefinisikan bulan dalam format dua digit, seperti 05,07,dan 12.
  • DD: digunakan untuk mendefinisikan tanggal dalam format dua digit, seperti 14, 06 dan 30.
  • hh: digunakan untuk mendefinisikan jam dalam format 2 digit, seperti 06,09, dan 12.
  • mm: digunakan untuk mendefinisikan menit, dalam format 2 digit, seperti 15, 45, dan 59.
  • ss: digunakan untuk mendefinisikan detik, dalam format 2 digit, seperti 10, 40, dan 57.

Jika MySQL tidak dapat membaca format, atau data tidak tersedia, maka data akan diisi sesuai dengan nilai pada Zero Value.

Tipe Data String

Tipe data string adalah tipe data pada MySQL yang digunakan untuk menyimpan data yang berupa huruf/karakter text. Tipe data string sendiri dalam database MySQL sering digunakan untuk menyimpan data seperti nomor telepon, nama, username , password dan lain-lain. Di MySQL sendiri tipe data string dibagi kedalam kedua kelompok yaitu :

Tipe Data Char dan Varchar MySQL

Tipe data char dan varchar ini merupakan salah satu tipe data yang sering di gunakan di MySQL. Sesuai dengan namanya tipe data ini sering digunakan untuk menyimpan data-data seperti karakter, huruf maupun angka. Namun untuk penyimpanan data angka yang akan digunakan untuk operasi perhitungan ,sangat tiddak disarankan menggunakan tipe data ini. Selain itu dalam tipe data char dan varchar ini kita dapat mengatur sendiri jumlah maksimal karakter yang natinya dapat tertampung di dalam MySQL. Jumlah maksimal yang sanggup disimpan oleh tipe data CHAR adalah sebanyak 255 karakter. Sedangkan Jumlah maksimal yang sanggup disimpan oleh tipe data VARCHAR adalah sebanyak 65.535 karakter.

Perbedaan CHAR dan VARCHAR

Walapun kedua tipe data ini sering digunakan untuk menyimpan data berupa karakter di MySQL namun dapat dilihat jika perbedaan yang sangat mencolok dari kedua tipe data tersebut adalah dari kapasitas maksimal mereka dalam menyimpan karakter . Tipe data char sendiri dapat menyimpan karakter maksimal sampai 255 karakter sedangkan tipe data varchar memiliki kapasitas yang lebih besar dari tipe data char yaitu mampu menyimpan karakter sampai 65.535 karakter . Misalkan kita ingin membuat sebuah kolom dengan tipe CHAR, dengan maksimal karakter sebanyak 15 karakter. Maka jika kita menginput data 2 karakter, jumlah yang akan disimpan sebanyak 15 karakter (sesuai dengan jumlah maksimal karakter CHAR yang sudah ditentukan). Tapi berbeda dengan VARCHAR, jika kita menetapkan jumlah maksimal karakternya 15 karakter, dan disaat kita menginput data 2 karakter, maka data yang disimpan hanya 2 karakter saja, sesuai dengan data yang kita input.

Cara penulisan tipe data varchar dan tipe data char adalah seperti berikut ini :

CHAR(M);
VARCHAR(M);

Keterangan :

M adalah jumlah karakter yang akan dialokasikan oleh MySQL, jumlah maksimal M adalah 255 karakter untuk tipe data CHAR dan 65,535 karakter untuk tipe data VARCHAR. Jika nilai M tidak di tentukan, maka nilai default M=1

Tipe Data Binary dan Varbinary

Tipe data binary dan varbinary adalah salah satu tipe data string pada MySQL yang digunakan untuk menympan data dalam bentuk binner sehingga data yang disimpan akan cenderung case-sensitif data atau lebih peka terhadap perbedaan penggunaan huruf besar maupun huruf kecil. Jika di tipe data char dan varchar tadi data disimpan dalam bentuk karakter maka di tipe data binary dan varbinary ini data akan disimpan secara biner (bit per bit).

Cara penulisan tipe data varbinary dan tipe data binary adalah seperti berikut ini :

BINARY(M)
VARBINARY(M)

Keterangan :

M merupakan panjang karakter yang bisa diinput. Panjang karakter maksimal untuk BINARY adalah 255 dan VARBINARY adalah 65,535.

Tipe Data Text pada MySQL

Tipe data text pada MySQL merupakan salah satu jenis tipe data string yang digunakan untuk menyimpan data karakter yang lebih besar . Jika dibandingkan dengan tipe data char dan varchar , tipe data text ini mampu menympan karakter yang lebih besar. Salah satu contoh penggunaan tipe data text ini dalam database MySQL contohnya seperti digunakan untuk menympan data alamat, deskripsi dan lain-lain dimana data-data tersebut terkadang membutuhkan jumlah karakter yang cukup banyak untuk disimpan kedalam database MySQL. Tipe data text terdiri dari :

Tipe Data Ukuran MaksimumJumlah Karakter Maksimum
TINYTEXT255 byte255
TEXT65.535 byte (64 KB)6.5535
MEDIUMTEXT16.777.215 byte (16 MB)16.777.215
LONGTEXT4.294.967.295 (4 GB)4.294.967.295
Tabel contoh tipe data text di mysql

Tipe Data BLOB pada MySQL

Jika sebelumnya kita telah mengenal tipe data binary dan varbinary yang merupakan versi biner dari tipe data char dan varchar, kali ini kita akan mengenal tipe data BLOB pada MySQL dimana tipe data ini merupakan tipe data versi biner dari tipe data TEXT sehingga tipe data BLOB ini juga bersifat case-sensitif (membedakan huruf besar dan kecil). Tipe data BLOB juga dibedakan menjadi beberapa tipe data yakni:

Tipe DataUkuran MaksimumJumlah Karakter Maksimum
TINYBLOB255 byte255
BLOB65.535 byte (64 KB)65.535
MEDIUMBLOB16.777.215 byte (16 MB)16.777.215
LONGBLOB4.294.967.295 (4 GB)4.294.967.295
Tabel contoh tipe data text di BLOB

Tipe Data Spasial

Basis data spasial adalah basis data yang mampu mendukung penyimpanan data spasial. MySQL saat ini sudah mendukung penyimpanan tipe data spasial. Data spasial adalah data yang berkaitan dengan bidang dan ruang seperti lokasi / titik koordinat, posisi, jarak, luas area, dan lain sebagainya. Tipe data spasial pada MySQL sendiri sering digunakan dalam penyimpanan data geografis dan lain-lain.

Pada MySQL terdapat tipe data POINT yang di dalamnya dapat menyimpan informasi koordinat
geografis menggunakan satuan degree decimal. POINT merupakan salah satu tipe data spasial
Tipe data spasial adalah tipe data spesifik yang digunakan dalam penyimpanan data spasial [8].
Tipe data spasial dibagi menjadi 2 kelompok yaitu tipe data spasial bernilai geometri tunggal dan
tipe data spasial berisi seluruh koleksi geometri. Tipe data spasial untuk geometri tunggal
diantaranya adalah:

  1. POINT (satu titik)
  2. LINESTRING (memiliki setidaknya 2 poin)
  3. POLYGON (memiliki setidaknya emapt titik, poligon harus ditutup)
  4. GEOMETRI (bidang data universal, dapat menyimpan POINT, LINESTRING atau
    POLYGON)

Tipe data spasial untuk menyimpan nilai dari collection adalah :

  1. MULTIPOINT
  2. MULTILINESTRING
  3. MULTIPOLYGON
  4. GEOMETRYCOLLECTION

Tipe Data JSON pada MySQL

MySQL mendukung tipe data JSON asli yang ditentukan oleh RFC 7159 yang memungkinkan akses efisien ke data dalam dokumen JSON (JavaScript Object Notation). Menggunakan tipe data JSON juga akan memberikan beberapa keuntungan dibandingkan saat kita menyimpan data dengan format JSON dalam kolom string biasa seperti :

  • Mendukung Validasi otomatis data dengan format JSON yang akan disimpan di kolom JSON Sehingga data yang tidak valid akan menghasilkan kesalahan.
  • Format penyimpanan yang dioptimalkan. Dokumen JSON yang disimpan dalam kolom JSON dikonversi ke format internal yang memungkinkan akses baca cepat ke elemen dokumen. Ketika server nanti harus membaca nilai JSON yang disimpan dalam format biner ini, nilai tersebut tidak perlu diuraikan dari representasi teks. Format biner disusun untuk memungkinkan server mencari subobjek atau nilai bersarang secara langsung dengan indeks kunci atau larik tanpa membaca semua nilai sebelum atau sesudahnya dalam dokumen.

MySQL 8.0 juga mendukung format JSON Merge Patch yang didefinisikan dalam RFC 7396, menggunakan fungsi JSON_MERGE_PATCH().

Sekian artikel dari saya kali ini mengenai Macam Macam Tipe Data Pada MySQL dan Contohnya , jangan lupa baca artikel saya yang lainya ya ……

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *