MySQL - DECIMAL: Panduan Komprehensif untuk Pemula

Hai teman-teman, para ahli basis data masa depan! Hari ini, kita akan mandul ke dalam dunia yang menarik dari tipe data DECIMAL di MySQL. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda dalam perjalanan ini, menjelaskan segala sesuatu langkah demi langkah. Jadi, ambil secangkir kopi (atau teh, jika itu hal Anda), dan mari kita mulai!

MySQL - DECIMAL

Tipe Data DECIMAL MySQL

Apa Itu DECIMAL?

DECIMAL adalah tipe data di MySQL yang memungkinkan kita menyimpan nilai numerik yang tepat. Saat ini Anda mungkin berpikir, "Tapi bisakah kita hanya menggunakan angka biasa?" Ya, kita bisa, tapi DECIMAL khusus. Itu sangat berguna saat kita memerlukan perhitungan yang presisi, seperti berurusan dengan uang atau pengukuran ilmiah.

Bayangkan Anda sedang membuat aplikasi perbankan. Anda tentu tidak ingin menggunakan tipe data yang mungkin membulatkan sen, kan? Itu di mana DECIMAL berguna!

Sintaks dan Penggunaan

Sintaks dasar untuk mendeklarasikan kolom DECIMAL adalah:

DECIMAL(M,D)

Di sini, 'M' adalah jumlah maksimum digit (ketepatan), dan 'D' adalah jumlah digit di sebelah kanan titik desimal (skala). Mari kita rinci ini dengan contoh:

CREATE TABLE product_prices (
id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(100),
price DECIMAL(10,2)
);

Dalam contoh ini, kita membuat tabel untuk menyimpan harga produk. Kolom 'price' didefinisikan sebagai DECIMAL(10,2), yang berarti:

  • Itu dapat menyimpan hingga 10 digit secara keseluruhan
  • 2 digit dari itu akan berada setelah titik desimal

Jadi, kita dapat menyimpan harga seperti 1234567.89 atau 9.99, tapi tidak 1234567890.99 (terlalu banyak digit) atau 9.999 (terlalu banyak tempat desimal).

Penyimpanan DECIMAL MySQL

Sekarang, mari bicarakan tentang bagaimana MySQL menyimpan nilai DECIMAL. Ini mungkin terdengar teknis, tapi saya janji itu menarik!

MySQL menyimpan nilai DECIMAL dalam format biner. Setiap digit desimal memakan 4 bit, dan untuk angka negatif, MySQL menggunakan bit tanda dari byte pertama.

Ini adalah fakta menarik: MySQL memasukkan digit ke dalam byte, artinya itu dapat menyimpan dua digit desimal per byte. Cerdik, kan?

Mari kita lihat beberapa contoh untuk memahami persyaratan penyimpanan:

Definisi DECIMAL Persyaratan Penyimpanan
DECIMAL(5,2) 3 byte
DECIMAL(5,0) 3 byte
DECIMAL(10,5) 5 byte
DECIMAL(65,30) 33 byte

Seperti yang Anda lihat, persyaratan penyimpanan meningkat seiring meningkatnya ketepatan (M) DECIMAL kita.

Tipe Data Decimal Menggunakan Program Klien

Sekarang kita mengerti apa DECIMAL dan bagaimana itu disimpan, mari lihat itu dalam aksi! Kita akan menggunakan program klien MySQL untuk membuat tabel, memasukkan data, dan mengquerynya.

Membuat Tabel dengan DECIMAL

Pertama, mari kita buat tabel untuk menyimpan informasi tentang produk:

CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
price DECIMAL(10,2),
weight DECIMAL(5,3)
);

Di sini, kita menggunakan DECIMAL untuk harga dan berat, memungkinkan hingga 8 digit sebelum desimal dan 2 setelahnya untuk harga, dan 2 digit sebelum desimal dan 3 setelahnya untuk berat.

Memasukkan Data

Sekarang, mari kita tambahkan beberapa produk ke tabel kita:

INSERT INTO products (name, price, weight)
VALUES
('Laptop', 999.99, 2.500),
('Smartphone', 599.99, 0.180),
('Headphones', 149.99, 0.220);

Querying Data

Mari kitaambil data kita dan melakukan beberapa perhitungan:

SELECT name, price, weight, price * weight AS price_per_kg
FROM products;

Query ini akan memberikan kita hasil seperti ini:

+------------+---------+--------+--------------+
| name       | price   | weight | price_per_kg |
+------------+---------+--------+--------------+
| Laptop     | 999.99  | 2.500  | 2499.975000  |
| Smartphone | 599.99  | 0.180  | 107.998200   |
| Headphones | 149.99  | 0.220  | 32.997800    |
+------------+---------+--------+--------------+

Perhatikan bagaimana MySQL mempertahankan ketepatan dalam perhitungan yang melibatkan nilai DECIMAL.

Catatan Peringatan

Meskipun DECIMAL sangat baik untuk ketepatan, penting untuk menggunakannya dengan bijak. Jika Anda tidak memerlukan ketepatan yang tepat (seperti saat berurusan dengan angka besar di mana perbedaan kecil tidak penting), pertimbangkan untuk menggunakan FLOAT atau DOUBLE untuk kinerja yang lebih baik.

Kesimpulan

Dan begitu, teman-teman! Kita telah berpergian melalui dunia tipe data DECIMAL MySQL. Kita telah belajar apa itu, bagaimana itu disimpan, dan bagaimana menggunakannya dalam konteks dunia nyata.

Ingat, di dunia basis data, ketepatan bisa menjadi teman terbaik Anda atau musuh terburuk. Pilih tipe data Anda bijak, dan maya perhitungan Anda selalu akurat!

Sementara kita menutup, ini adalah sedikit humor basis data untuk Anda: Mengapa para pemrogram memilih mode gelap? Karena cahaya menarik nyamuk!

Terus latih, tetap curioso, dan selamat berkoding!

Credits: Image by storyset