MysqlTeknologi

Tipe Data MySQL

Setiap kolom dalam tabel database harus memiliki nama dan tipe data.

Seorang pengembang SQL harus memutuskan jenis data yang akan disimpan di setiap kolom saat membuat tabel. Tipe data adalah panduan bagi SQL untuk memahami jenis data apa yang diharapkan berada di dalam setiap kolom, dan juga menentukan bagaimana SQL akan berinteraksi dengan data yang disimpan.

Di MySQL, terdapat tiga tipe data utama: string, numerik, dan tanggal dan waktu.

Tipe Data String
Tipe dataDeskripsi
CHAR(size)Sebuah string dengan panjang tetap (dapat berisi huruf, angka, dan karakter khusus). Parameter size menentukan panjang kolom dalam karakter, yang bisa antara 0 hingga 255. Defaultnya adalah 1.
VARCHAR(size)Sebuah string dengan panjang variabel (dapat berisi huruf, angka, dan karakter khusus). Parameter size menentukan panjang maksimum kolom dalam karakter, yang bisa antara 0 hingga 65535.
BINARY(size)Sama dengan CHAR(), tetapi menyimpan string byte biner. Parameter size menentukan panjang kolom dalam byte. Defaultnya adalah 1.
VARBINARY(size)Sama dengan VARCHAR(), tetapi menyimpan string byte biner. Parameter size menentukan panjang maksimum kolom dalam byte.
TINYBLOBUntuk BLOB (Binary Large OBjects). Panjang maksimum: 255 byte.
TINYTEXTMenyimpan string dengan panjang maksimum 255 karakter.
TEXT(size)Menyimpan string dengan panjang maksimum 65,535 byte.
BLOB(size)Untuk BLOB (Binary Large OBjects). Menyimpan hingga 65,535 byte data.
MEDIUMTEXTMenyimpan string dengan panjang maksimum 16,777,215 karakter.
MEDIUMBLOBUntuk BLOB (Binary Large OBjects). Menyimpan hingga 16,777,215 byte data.
LONGTEXTMenyimpan string dengan panjang maksimum 4,294,967,295 karakter.
LONGBLOBUntuk BLOB (Binary Large OBjects). Menyimpan hingga 4,294,967,295 byte data.
ENUM(val1, val2, val3, …)Sebuah objek string yang hanya dapat memiliki satu nilai, yang dipilih dari daftar nilai yang mungkin. Anda dapat mencantumkan hingga 65,535 nilai dalam daftar ENUM. Jika nilai yang dimasukkan tidak ada dalam daftar, maka nilai kosong akan dimasukkan. Nilai-nilai diurutkan sesuai urutan yang Anda masukkan.
SET(val1, val2, val3, …)Sebuah objek string yang dapat memiliki 0 atau lebih nilai, yang dipilih dari daftar nilai yang mungkin. Anda dapat mencantumkan hingga 64 nilai dalam daftar SET.
Tipe Data Numerik
Tipe DataDeskripsi
BIT(ukuran)Tipe nilai bit. Jumlah bit per nilai ditentukan dalam parameter ukuran. Ukuran dapat menampung nilai dari 1 hingga 64. Nilai default untuk ukuran adalah 1.
TINYINT(ukuran)Bilangan bulat yang sangat kecil. Rentang bertanda (signed) adalah dari -128 hingga 127. Rentang tanpa tanda (unsigned) adalah dari 0 hingga 255. Parameter ukuran menentukan lebar tampilan maksimum (yang adalah 255).
BOOLNilai nol dianggap sebagai false, sedangkan nilai non-nol dianggap sebagai true.
BOOLEANSama dengan BOOL.
SMALLINT(ukuran)Bilangan bulat kecil. Rentang bertanda adalah dari -32768 hingga 32767. Rentang tanpa tanda adalah dari 0 hingga 65535. Parameter ukuran menentukan lebar tampilan maksimum (yang adalah 255).
MEDIUMINT(ukuran)Bilangan bulat sedang. Rentang bertanda adalah dari -8388608 hingga 8388607. Rentang tanpa tanda adalah dari 0 hingga 16777215. Parameter ukuran menentukan lebar tampilan maksimum (yang adalah 255).
INT(ukuran)Bilangan bulat sedang. Rentang bertanda adalah dari -2147483648 hingga 2147483647. Rentang tanpa tanda adalah dari 0 hingga 4294967295. Parameter ukuran menentukan lebar tampilan maksimum (yang adalah 255).
INTEGER(ukuran)Sama dengan INT(ukuran).
BIGINT(ukuran)Bilangan bulat besar. Rentang bertanda adalah dari -9223372036854775808 hingga 9223372036854775807. Rentang tanpa tanda adalah dari 0 hingga 18446744073709551615. Parameter ukuran menentukan lebar tampilan maksimum (yang adalah 255).
FLOAT(ukuran, d)Bilangan titik mengambang. Jumlah total digit ditentukan dalam parameter ukuran. Jumlah digit setelah titik desimal ditentukan dalam parameter d. Sintaks ini sudah tidak digunakan lagi di MySQL 8.0.17, dan akan dihapus di versi MySQL mendatang.
FLOAT(p)Bilangan titik mengambang. MySQL menggunakan nilai p untuk menentukan apakah akan menggunakan FLOAT atau DOUBLE untuk tipe data yang dihasilkan. Jika p dari 0 hingga 24, tipe data menjadi FLOAT(). Jika p dari 25 hingga 53, tipe data menjadi DOUBLE().
DOUBLE(ukuran, d)Bilangan titik mengambang berukuran normal. Jumlah total digit ditentukan dalam parameter ukuran. Jumlah digit setelah titik desimal ditentukan dalam parameter d.
DOUBLE PRECISION(ukuran, d)Sama dengan DOUBLE(ukuran, d).
DECIMAL(ukuran, d)Bilangan titik tetap yang tepat. Jumlah total digit ditentukan dalam parameter ukuran. Jumlah digit setelah titik desimal ditentukan dalam parameter d. Jumlah maksimum untuk ukuran adalah 65. Jumlah maksimum untuk d adalah 30. Nilai default untuk ukuran adalah 10. Nilai default untuk d adalah 0.
DEC(ukuran, d)Sama dengan DECIMAL(ukuran, d).
Catatan: Semua tipe data numerik mungkin memiliki opsi tambahan: UNSIGNED atau ZEROFILL. Jika Anda menambahkan opsi UNSIGNED, MySQL tidak mengizinkan nilai negatif untuk kolom tersebut. Jika Anda menambahkan opsi ZEROFILL, MySQL juga secara otomatis menambahkan atribut UNSIGNED ke kolom tersebut.
Tipe Data Tanggal dan Waktu
Tipe DataDeskripsi
DATETanggal. Format: YYYY-MM-DD. Rentang yang didukung adalah dari ‘1000-01-01’ hingga ‘9999-12-31’.
DATETIME(fsp)Kombinasi tanggal dan waktu. Format: YYYY-MM-DD hh:mm:ss. Rentang yang didukung adalah dari ‘1000-01-01 00:00:00’ hingga ‘9999-12-31 23:59:59’. Menambahkan DEFAULT dan ON UPDATE dalam definisi kolom memungkinkan inisialisasi dan pembaruan otomatis ke tanggal dan waktu saat ini.
TIMESTAMP(fsp)Stempel waktu (timestamp). Nilai TIMESTAMP disimpan sebagai jumlah detik sejak epoch Unix (‘1970-01-01 00:00:00’ UTC). Format: YYYY-MM-DD hh:mm:ss. Rentang yang didukung adalah dari ‘1970-01-01 00:00:01’ UTC hingga ‘2038-01-09 03:14:07’ UTC. Inisialisasi dan pembaruan otomatis ke tanggal dan waktu saat ini dapat ditentukan dengan menggunakan DEFAULT CURRENT_TIMESTAMP dan ON UPDATE CURRENT_TIMESTAMP dalam definisi kolom.
TIME(fsp)Waktu. Format: hh:mm:ss. Rentang yang didukung adalah dari ‘-838:59:59’ hingga ‘838:59:59’.
YEARTahun dalam format empat digit. Nilai yang diizinkan dalam format empat digit: 1901 hingga 2155, dan 0000. MySQL 8.0 tidak mendukung tahun dalam format dua digit.

Tinggalkan Balasan

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