Halo, selamat datang di tutorial MySQL, pada tutorial ini kita akan mengenal tipe data pada MySQL. Ketika merancang struktur database, memilih tipe data yang tepat untuk setiap kolom sangatlah penting. MySQL, sebagai sistem manajemen basis data relasional (RDBMS), menawarkan berbagai tipe data untuk memenuhi kebutuhan beragam jenis informasi. Dalam tutorial ini, kita akan mengenal berbagai tipe data yang disediakan oleh MySQL, dikelompokkan berdasarkan kategori utama: String, Numeric, dan Date and Time.
Tipe Data String Pada MySQL
Tipe data string adalah komponen penting dalam struktur basis data yang memungkinkan kita menyimpan teks atau karakter. MySQL menyediakan berbagai tipe data string yang dapat disesuaikan dengan kebutuhan pengguna. Dalam tutorial ini, kami akan menjelaskan berbagai tipe data string yang ditawarkan oleh MySQL beserta penjelasan tentang masing-masing tipe.
1. CHAR(size)
Tipe data CHAR digunakan untuk menyimpan string dengan panjang tetap. Parameter “size” menentukan panjang kolom dalam karakter. Tipe data ini dapat berisi huruf, angka, dan karakter khusus.
2. VARCHAR(size)
Tipe data VARCHAR adalah tipe data string dengan panjang maksimal 255. Ini digunakan untuk menyimpan string dengan panjang yang bervariasi. Parameter “size” menentukan panjang maksimal kolom dalam karakter.
3. BINARY(size)
Tipe data BINARY mirip dengan CHAR, tetapi digunakan untuk menyimpan byte string biner. Parameter “size” menentukan panjang kolom dalam byte.
4. VARBINARY(size)
Tipe data VARBINARY mirip dengan VARCHAR, tetapi digunakan untuk menyimpan byte string biner. Parameter “size” menentukan panjang maksimal kolom dalam byte.
5. TINYBLOB
Tipe data TINYBLOB digunakan untuk menyimpan data biner yang lebih kecil. Maksimum panjang data yang dapat disimpan adalah 255 byte.
6. TINYTEXT
Tipe data TINYTEXT menyimpan teks dengan panjang maksimal 255 karakter.
7. TEXT(size)
Tipe data TEXT digunakan untuk menyimpan teks dengan panjang maksimal 65,535 byte.
8. BLOB(size)
Tipe data BLOB digunakan untuk menyimpan data biner dengan panjang maksimal 65,535 byte.
9. MEDIUMTEXT
Tipe data MEDIUMTEXT memungkinkan penyimpanan teks dengan panjang maksimal 16,777,215 karakter.
10. MEDIUMBLOB
Tipe data MEDIUMBLOB menyimpan data biner dengan panjang maksimal 16,777,215 byte.
11. LONGTEXT
Tipe data LONGTEXT digunakan untuk menyimpan teks dengan panjang maksimal 4,294,967,295 karakter.
12. LONGBLOB
Tipe data LONGBLOB digunakan untuk menyimpan data biner dengan panjang maksimal 4,294,967,295 byte.
13. ENUM(val1, val2, val3, …)
Tipe data ENUM memungkinkan kita menyimpan satu nilai dari daftar nilai yang telah ditentukan. Nilai-nilai ini harus diurutkan dalam urutan tertentu saat definisi. Jika nilai yang dimasukkan tidak ada dalam daftar, akan dimasukkan nilai kosong.
14. SET(val1, val2, val3, …)
Tipe data SET mirip dengan ENUM, tetapi memungkinkan kita untuk menyimpan beberapa nilai dari daftar yang telah ditentukan. Nilai-nilai ini harus diurutkan dalam urutan tertentu saat definisi.
Tipe Data Numeric Pada MySQL
Dalam pengelolaan basis data, tipe data numeric digunakan untuk merepresentasikan nilai angka dengan berbagai karakteristik dan ukuran. MySQL menyediakan berbagai tipe data numeric yang dapat digunakan untuk menyimpan nilai numerik yang berbeda. Dalam tutorial ini, kami akan menjelaskan berbagai tipe data numeric yang ditawarkan oleh MySQL beserta penjelasan tentang masing-masing tipe.
1. BIT(size)
Tipe data BIT digunakan untuk menyimpan nilai bit. Parameter “size” menentukan jumlah bit per nilai. Nilai “size” bisa dari 1 hingga 64. Default size adalah 1.
2. TINYINT(size)
TINYINT adalah tipe data yang menyimpan integer sangat kecil. Rentang nilai yang bisa disimpan adalah dari -128 hingga 127 (signed) atau dari 0 hingga 255 (unsigned). Parameter “size” menentukan lebar tampilan maksimal (hingga 255).
3. BOOL atau BOOLEAN
Kedua tipe data ini digunakan untuk menyimpan nilai boolean. Nol dianggap sebagai false, nilai non-nol dianggap sebagai true.
4. SMALLINT(size)
Tipe data SMALLINT adalah tipe data integer kecil. Rentang nilai yang bisa disimpan adalah dari -32768 hingga 32767 (signed) atau dari 0 hingga 65535 (unsigned). Parameter “size” menentukan lebar tampilan maksimal (hingga 255).
5. MEDIUMINT(size)
Tipe data MEDIUMINT adalah tipe data integer medium. Rentang nilai yang bisa disimpan adalah dari -8388608 hingga 8388607 (signed) atau dari 0 hingga 16777215 (unsigned). Parameter “size” menentukan lebar tampilan maksimal (hingga 255).
6. INT(size) atau INTEGER(size)
Tipe data INT atau INTEGER adalah tipe data integer. Rentang nilai yang bisa disimpan adalah dari -2147483648 hingga 2147483647 (signed) atau dari 0 hingga 4294967295 (unsigned). Parameter “size” menentukan lebar tampilan maksimal (hingga 255).
7. BIGINT(size)
Tipe data BIGINT adalah tipe data integer besar. Rentang nilai yang bisa disimpan adalah dari -9223372036854775808 hingga 9223372036854775807 (signed) atau dari 0 hingga 18446744073709551615 (unsigned). Parameter “size” menentukan lebar tampilan maksimal (hingga 255).
8. FLOAT(size, d) dan FLOAT(p)
Tipe data FLOAT digunakan untuk menyimpan angka floating point. Parameter “size” menentukan total digit, dan “d” parameter menentukan digit setelah titik desimal.
9. DOUBLE(size, d) dan DOUBLE PRECISION(size, d)
Tipe data DOUBLE adalah tipe data floating point dengan jumlah digit yang lebih besar daripada FLOAT. Parameter “size” menentukan total digit, dan “d” parameter menentukan digit setelah titik desimal.
10. DECIMAL(size, d) atau DEC(size, d)
Tipe data DECIMAL digunakan untuk menyimpan angka desimal. Parameter “size” menentukan total digit, dan “d” parameter menentukan digit setelah titik desimal. Maksimum “size” adalah 65 dan maksimum “d” adalah 30.
Tambahan: UNSIGNED dan ZEROFILL
Semua tipe data numeric juga dapat memiliki opsi tambahan: UNSIGNED atau ZEROFILL. Jika menggunakan opsi UNSIGNED, MySQL tidak memperbolehkan nilai negatif untuk kolom tersebut. Jika menggunakan opsi ZEROFILL, MySQL secara otomatis menambahkan atribut UNSIGNED pada kolom tersebut.
Tipe Data Date and Time Pada MySQL
Tipe data Date and Time sangat penting dalam pengelolaan basis data, karena mereka memungkinkan kita untuk menyimpan dan mengelola informasi terkait tanggal dan waktu. MySQL menyediakan berbagai tipe data Date and Time yang memungkinkan kita untuk merepresentasikan berbagai jenis informasi berkaitan dengan waktu. Dalam panduan ini, kami akan menjelaskan berbagai tipe data Date and Time yang ditawarkan oleh MySQL beserta penjelasan tentang masing-masing tipe.
1. DATE
Tipe data DATE digunakan untuk menyimpan tanggal. Format yang digunakan adalah ‘YYYY-MM-DD’. Rentang yang didukung adalah dari ‘1000-01-01’ hingga ‘9999-12-31’.
2. DATETIME(fsp)
Tipe data DATETIME digunakan untuk menyimpan kombinasi tanggal dan waktu. Format yang digunakan adalah ‘YYYY-MM-DD hh:mm:ss’. Rentang yang didukung adalah dari ‘1000-01-01 00:00:00’ hingga ‘9999-12-31 23:59:59’. Anda dapat menambahkan DEFAULT dan ON UPDATE pada definisi kolom untuk menginisialisasi secara otomatis dan memperbarui ke tanggal dan waktu saat ini.
3. TIMESTAMP(fsp)
Tipe data TIMESTAMP digunakan untuk menyimpan penanda waktu. Nilai TIMESTAMP disimpan sebagai jumlah detik sejak epoch Unix (‘1970-01-01 00:00:00’ UTC). Format yang digunakan adalah ‘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. Anda dapat menggunakan DEFAULT CURRENT_TIMESTAMP dan ON UPDATE CURRENT_TIMESTAMP dalam definisi kolom untuk menginisialisasi secara otomatis dan memperbarui ke tanggal dan waktu saat ini.
4. TIME(fsp)
Tipe data TIME digunakan untuk menyimpan informasi waktu. Format yang digunakan adalah ‘hh:mm:ss’. Rentang yang didukung adalah dari ‘-838:59:59’ hingga ‘838:59:59’.
5. YEAR
Tipe data YEAR digunakan untuk menyimpan tahun dalam format empat digit. Nilai yang diperbolehkan dalam format empat digit adalah antara 1901 hingga 2155, serta 0000.
Catatan: MySQL 8.0 tidak mendukung tahun dalam format dua digit.
Tipe data Date and Time pada MySQL memungkinkan kita untuk mengelola informasi terkait waktu dengan tepat. Mulai dari penyimpanan tanggal hingga kombinasi tanggal dan waktu, MySQL menawarkan berbagai pilihan untuk memenuhi kebutuhan proyek yang kita kerjakan.
Daftar atau list tutorial MySQL dapat anda lihat diĀ Index Tutorial MySQL: Belajar MySQL Dari Dasar.