Apa itu zerofill di mysql?

Untuk membuat tabel di MySQL, selain mendefinisikan tipe data, kita juga bisa mendefinisikan atribut dari tipe data tersebut. Pada tutorial belajar MySQL kali ini kita akan membahas pengertian dan cara penggunaan atribut tipe data di MySQL

Arti atribut tipe data MySQL
Atribut tipe data adalah aturan yang kami terapkan pada kolom. MySQL memiliki banyak atribut tipe data, namun pada tutorial ini hanya membahas atribut tipe data saja, namun pada tutorial ini hanya membahas atribut tipe data yang paling umum digunakan yaitu. AUTO_INCREMENT, BINARY, DEFAULT, NOT NULL, NULL, SIGNED, UNSIGNED, dan ZEROFILL


Atribut AUTO_INCREMENT
Atribut AUTO_INCREMENT digunakan untuk tipe data numerik (biasanya tipe data INT), dimana jika kita mengatur kolom dengan atribut AUTO_INCREMENT, maka setiap kali kita menginput data, nilai pada kolom ini akan bertambah 1. Nilai pada kolom juga akan bertambah jika kita input dengan nilai NULL atau 0

Dalam sebuah tabel, hanya 1 kolom yang dapat dikenakan atribut AUTO_INCREMENT. Setiap kolom AUTO_INCREMENT juga akan diberi atribut NOT NULL secara otomatis. Kolom AUTO_INCREMENT juga harus digunakan sebagai KEY (biasanya PRIMARY KEY)


atribut DEFAULT
Atribut BINARY digunakan untuk tipe data karakter, seperti CHAR dan VARCHAR. Tipe data CHAR, VARCHAR dan TEXT tidak membedakan huruf besar dan kecil (case-insensitive), namun jika diberi atribut BINARY, maka kolom akan membedakan huruf besar dan kecil (case-sensitive)


atribut DEFAULT
Atribut DEFAULT dapat digunakan pada hampir semua tipe data. Fungsinya untuk memberikan nilai default pada kolom jika tidak ada data yang dimasukkan ke kolom


BUKAN atribut NULL
Atribut NOT NULL dapat digunakan pada hampir semua tipe data, fungsinya untuk memastikan nilai pada kolom tidak boleh kosong. Jika kita menginput data, tetapi tidak memberikan nilai pada kolom tersebut, maka akan menghasilkan error pada MySQL


atribut NULL
Atribut NULL adalah kebalikan dari NOT NULL, dimana jika sebuah kolom didefinisikan dengan NULL, maka kolom tersebut tidak boleh berisi nilai

NULL adalah istilah atau tipe data khusus dalam pemrograman yang menyatakan 'tidak ada nilai', NULL tidak sama dengan 0, atau ''(string kosong). Operasi matematika dengan NULL akan menghasilkan nilai NULL


atribut DITANDATANGANI
Atribut SIGNED digunakan untuk tipe data numerik. Berlawanan dengan atribut UNSIGNED, dimana atribut ini berfungsi agar kolom dapat menampung nilai negatif. Atribut SIGNED biasanya disertakan hanya untuk mengkonfirmasi bahwa kolom tersebut mendukung nilai negatif, karena MySQL sendiri telah memberikan nilai negatif secara default untuk semua tipe numerik


Atribut UNSIGNED
Atribut UNSIGNED digunakan untuk tipe data numerik, tetapi propertinya berbeda untuk tipe data INT, DECIMAL dan FLOAT. Untuk tipe data INT, atribut UNSIGNED berfungsi mengorbankan nilai negatif, untuk mendapatkan rentang nilai positif yang lebih tinggi. Namun untuk tipe data DECIMAL dan FLOAT, atribut UNSIGNED hanya akan menghilangkan nilai negatif saja, tanpa menambah range data


atribut ZEROFILL
Atribut ZEROFILL digunakan untuk tipe data numerik, yang berfungsi untuk menampilkan format data yang akan diisi nilai 0 disebelah kanan data. Jika kita menggunakan atribut ZEROFILL untuk sebuah kolom, kolom tersebut secara otomatis diberi atribut UNSIGNED


Contoh Query Untuk penggunaan atribut

Apa itu zerofill di mysql?

 
Apa itu zerofill di mysql?



Kita dapat melihat bahwa jika kita memberikan nilai NULL pada kolom nama yang telah diberi atribut NOT NULL, MySQL akan memberikan error. Juga pada kolom no, dimana kita loncat dengan memberikan nilai 1, namun untuk kolom selanjutnya tetap akan ditambah 1, karena terkena atribut AUTO_INCREMENT.

Setelah membahas atribut tipe data, pada tutorial selanjutnya kita akan membahas cara mengubah tabel dengan query ALTER TABLE

Pada tutorial sebelumnya kita telah mempelajari cara membuat dan menghapus database. Sekarang kita lanjutkan dengan memahami tipe data numerik di MySQL

MySQL memiliki banyak tipe data, pada umumnya tipe data MySQL dibagi menjadi

  1. Tipe data numerik
  2. Tipe data string
  3. Tipe data tanggal dan waktu

Saat membuat tabel di database untuk menampung sejumlah data tertentu, pertama-tama tentukan tipe data dari setiap kolom

Misalkan kita akan membuat tabel biodata siswa, maka pada biodata siswa tersebut terdapat kolom nama, nama, tanggal lahir, alamat, dan nomor telepon. Dari data tersebut kita tentukan tipe datanya satu per satu yaitu untuk nim karena nim semua angka, lalu kita beri tipe data numeric (khusus untuk angka saja), lalu untuk name karena nama hanya terdiri dari huruf maka kita beri string tipe data (khusus untuk huruf saja) dan untuk tanggal lahir kita beri tipe data tanggal

Pada tutorial kali ini kita akan membahas terlebih dahulu tentang tipe data numerik

Secara umum tipe data numerik pada MySQL terbagi menjadi dua yaitu

  • Tipe data bilangan bulat
  • Tipe data floating point/fixed point (jumlah pecahan)

Tipe Data Bilangan Bulat

Integer adalah tipe data yang mengakomodasi bilangan bulat positif dan negatif

Integer juga memiliki beberapa tipe data yaitu

  1. TINYINT (bilangan bulat sangat kecil)
  2. SMALLINT (bilangan bulat kecil)
  3. MEDIUMINT (bilangan bulat sedang)
  4. INT (media bilangan bulat)
  5. BIGINT (bilangan bulat besar)

Kelima jenis data di atas, dari yang terkecil hingga terbesar, digunakan sesuai dengan kebutuhan masing-masing individu. Perbedaannya terletak pada jangkauan data dan jumlah memori yang digunakan dari masing-masing jenis data itu sendiri

Misalkan kita memasukkan nim dengan jumlah total sembilan digit, maka gunakan tipe data INT. Begitu juga jika Anda memasukkan data ID siswa untuk kelas yang hanya 30 orang, maka gunakan tipe data TINYINT

Format kueri untuk menulis tipe data integer adalah

INT [(M)] [TIDAK DITANDATANGANI] [ZEROFILL]

Nilai M adalah jumlah digit yang ditetapkan untuk menampilkan data

Unsigned diatur untuk mendapatkan rentang nilai positif yang lebih tinggi daripada yang ditandatangani. Jika unsigned tidak ditentukan, maka secara default tipe data integer ditandatangani

Zerofill adalah nilai numerik 0 yang diisi di sebelah kiri nilai M. misalkan kita set INT (5), tapi data yang diinput adalah (123) yang berarti hanya 3 digit. Kemudian zerofill akan menambahkan dua 0 di sebelah kiri nilai M untuk mengisi digit kosong. dari awal (123) ke (00123)

Kami bebas menggunakan unsigned dan zerofill karena bersifat opsional. Namun kembali disesuaikan dengan kebutuhan

TypeLength
dalam Nilai Minimum Bytes
(Tanda Tangan) Nilai Maksimum
(Tanda Tangan) Nilai Minimum
(Tidak ditandatangani) Nilai Maksimum
(Tidak ditandatangani)TINYINT1-1281270255SMALLINT2-3276832767065535MEDIUMINT3-83886088388607 hingga 016777215INT4-2147483648214748364704294967295BIGINT8-9223372036880472836
547758070184467440737
09551615

Keterangan

  • Ketik (bilangan bulat)
  • Panjang dalam byte (memori yang digunakan) misalnya tinyint menyimpan data 1 byte per input data, jika ada 10 input data maka kalikan saja. Semakin banyak data yang dimasukkan, semakin banyak memori yang digunakan
  • Signed (mengakomodasi angka positif dan negatif)
  • Tidak ditandatangani (memegang angka positif)

Catatan. Bagi pemula mungkin akan bingung dengan angka-angka pada tabel di atas. Namun, sedikit demi sedikit Anda akan mengerti ketika Anda mempraktekkan beberapa contoh kasus pembuatan database

Tipe Data Titik Tetap

Tipe data titik tetap adalah tipe data bilangan pecahan (DECIMAL) dimana jumlah bilangan pecahan di belakang koma sudah ditentukan dari awal, sehingga jumlah digitnya tetap.

Format kueri untuk menulis tipe data DECIMAL adalah

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

M adalah jumlah digit dan D adalah jumlah digit di belakang koma

Nilai maksimum M adalah 65 dan nilai maksimum D adalah 30 dengan syarat nilai D tidak boleh lebih besar dari nilai M

Jika kita tidak mendefinisikan nilai M dan D maka secara default nilai M adalah 10 dan nilai D adalah 0

Tipe data desimal cocok untuk menyimpan nilai uang

DEKLARASI SKALA DECIMAL (4, 1)-999,9 hingga 999,9DECIMAL (6, 2)-9999,99 hingga 9999,99DECIMAL (3, 2)-9,99 hingga 9,99DECIMAL (8, 2)-999999, 99 hingga 999999,99

Tipe Data Titik Mengambang

MySQL membagi dua jenis data floating point yaitu FLOAT dan DOUBLE. Perbedaan antara keduanya adalah FLOAT menggunakan presisi tunggal dan DOUBLE menggunakan presisi ganda

Jika fixed point jumlah digit di belakang koma tetap, maka floating point bisa berubah

Apa saja tipe data di MySQL?

Secara umum tipe data pada MySQL terbagi menjadi 4 yaitu. Numeric Values ​​adalah bilangan atau bilangan seperti 10; . 50; . 2E+17; . 7e-11; . .
TANGGAL WAKTU. Kombinasi tanggal dan waktu. .
TANGGAL. Kombinasi tanggal dan waktu. .
URUTAN WAKTU. URUTAN WAKTU [(M)].

Apa itu UNSIGNED di MySQL?

Unsigned adalah salah satu flag dalam tipe data INT di MySQL atau MariaDB . Dengan mengaktifkan unsigned, nilai yang akan ditambahkan nantinya tidak bisa dimasukkan sebagai nilai negatif. Penggunaan unsigned cocok untuk kompilasi. Kunci. untuk Primary Key dan Foreign Key.

Apa yang dimaksud dengan Tinyint?

Tinyint type artinya integer dengan range yang sangat kecil yaitu –2 to 2, -1 or 0 to 2. -1 jika TIDAK DITANDATANGAN . Atribut yang diizinkan adalah AUTO_INCREMENT, UNSIGNED, dan ZEROFILL. Harga default adalah NULL jika memungkinkan atau 0 jika NOT NULL dengan penyimpanan 1 byte.

Apa yang dimaksud dengan VARCHAR?

CHAR dan VARCHAR adalah tipe data karakter (string) yang akan sering kita gunakan. Dimana M adalah jumlah karakter yang akan dialokasikan oleh MySQL. Misalkan nilai M=5, maka MySQL menyediakan 5 karakter untuk kolom tersebut. Nilai maksimum M adalah 255 karakter untuk CHAR, dan 65.535 karakter untuk VARCHAR .