Pada artikel ini, Anda akan belajar tentang tipe data integer SIGNED dan UNSIGNED di MySQL. Artikel ini memberikan informasi tentang tipe integer dengan atribut ZEROFILL, AUTO_INCREMENT, dan display_width, serta menjelaskan contoh kapan dan bagaimana menggunakan tipe data integer Show
IsiApa itu MySQL INTEGERDi MySQL, INTEGER (INT) adalah nilai numerik tanpa desimal. Ini mendefinisikan bilangan bulat yang dapat disimpan dalam bidang atau kolom. Selain itu, MySQL mendukung atribut display_width (misalnya, INT(1)) dan atribut ZEROFILL, yang secara otomatis menambahkan nol ke nilai tergantung pada lebar tampilan Kecuali untuk tipe data standar INT dan SMALLINT, MySQL mendukung tipe data numerik TINYINT, MEDIUMINT, dan BIGINT yang dapat DITANDA dan DITANDATANGANI Tabel menampilkan penyimpanan yang diizinkan dalam byte, nilai maksimum dan minimum dari tipe data integer SIGNED dan UNSIGNED Lapeng (byte) Nilai minimum menandatangani nilai minimum unsignedmaMaxiMum nilai tandatangan nilainya unsignedTinyInt1-1280127255.83860888888607167777726462860808388888607167777777726264628628826Biasanya, tipe data INTEGER digunakan untuk merepresentasikan ID, tanggal dan waktu (misalnya, DATETIME, DATE, YEAR, TIMESTAMP), atribut lebar dan tinggi, dll. DITANDATANGANI vs TIDAK DITANDATANGANISeperti yang disebutkan sebelumnya, tipe data INTEGER dapat UNSIGNED dan SIGNED. UNSIGNED hanya dapat menyimpan nol dan angka positif dalam kolom. Jika nilai dalam kolom tidak pernah menggunakan angka negatif atau jika perlu menggunakan rentang angka atas yang lebih besar untuk kolom, Anda dapat menyetel UNSIGNED, yang pada gilirannya dapat menghasilkan indeks yang lebih cepat SIGNED dapat mengizinkan angka nol, positif, dan negatif. Dengan nilai MySQL sebagai SIGNED, satu bit diambil untuk simbol tanda dibandingkan dengan yang tidak ditandatangani, ketika mereka tidak memiliki tanda sebelum nilai Di MySQL, INT biasanya dipilih sebagai kunci utama dan dapat memiliki atribut AUTO_INCREMENT di kolom. Misalnya, saat Anda menambahkan NULL atau 0 ke atribut INT AUTO_INCREMENT, nilai kolom secara otomatis bertambah dan diubah ke nilai berurutan berikutnya yang dihasilkan dalam urutan menaik. Saat Anda menambahkan nilai bukan nol ke atribut INT AUTO_INCREMENT, nilai diterima dan urutannya disetel ulang yang berarti bahwa nilai yang dimasukkan mendahului nilai berurutan yang dihasilkan secara otomatis (i. e. nilai+1). Perlu diingat bahwa kolom dengan AUTO_INCREMENT tidak menyimpan nilai negatif, yang berarti kolom dengan AUTO_INCREMENT tidak ditandatangani secara default Apa itu Tipe Data UNSIGNED INT?Ketika kita mengatur kolom MySQL INT UNSIGNED, itu berarti nilai negatif tidak dapat dimasukkan ke dalam kolom ini. Nilai rentang maksimum dengan tipe data UNSIGNED adalah 4294967295, sedangkan minimumnya adalah 0. Jadi, jika Anda memasukkan nilai negatif atau yang melebihi nilai maksimum, Anda akan mendapatkan kesalahan karena itu akan menjadi nilai di luar jangkauan. Mari kita lihat contoh cara membuat tabel dengan kolom INT UNSIGNED. Karena ID biasanya merupakan tipe data numerik, kami akan menggunakannya sebagai kunci primer INT UNSIGNED Buat tabel dengan contoh data UNSIGNEDSebagai contoh demo, kami akan menggunakan dbForge Studio untuk MySQL Untuk memulainya, buat tabel produk dengan total_amount sebagai tipe data INT UNSIGNED. Untuk ini, pada bilah alat standar, klik New SQL, ketik kueri, dan klik Jalankan atau tekan F5 Kemudian, sisipkan baris baru – VALUES – di tabel MySQL dan jalankan kueri Untuk memeriksa hasilnya, ambil data. Untuk ini, di Database Explorer, klik kanan tabel produk dan pilih Retrieve Data. Seperti yang Anda lihat, nilainya ditambahkan Dan sekarang, masukkan baris baru tetapi dengan angka negatif untuk kolom INT UNSIGNED dan jalankan kueri
Seperti yang Anda lihat, saat menjalankan kueri, kami mendapat kesalahan karena UNSIGNED tidak mendukung nilai negatif Lebar Tampilan INTEGER. INT()Di MySQL, Anda dapat mengatur lebar tampilan untuk tipe data INT. Lebar tampilan adalah angka dalam tanda kurung yang mewakili panjang keluaran, i. e. berapa banyak karakter yang harus ditampilkan di kolom saat mengambil data untuk kolom. Jadi, itu penting hanya saat menampilkan output Pertimbangkan yang berikut ini. Jika Anda menetapkan 5 sebagai nilai untuk kolom int(1), int(6), int(10), dan int(11), semuanya akan menampilkan nilai yang sama – 5. Sebenarnya, lebar tampilan membuat perbedaan saat Anda menyetel atribut ZEROFILL. Dalam hal ini, hasilnya akan menampilkan masing-masing 5, 000005, 0000000005, dan 00000000005 Perhatikan bahwa lebar tampilan tidak memengaruhi rentang nilai maksimum dan minimum. Nilai minimum dan maksimum kolom dan ukuran penyimpanan (dalam byte) hanya bergantung pada tipe bilangan bulat yang Anda gunakan tetapi tidak pada panjangnya. Nilai int(1), int(6), int(10), dan int(11) akan memiliki nilai maksimum dalam rentang yang sama dengan 2147483647 (untuk INT yang ditandatangani) dan 4294967295 (untuk INT yang tidak ditandatangani) MySQL INT dengan atribut ZEROFILLJika Anda perlu mengganti spasi dengan nol, Anda dapat menggunakan atribut ZEROFILL untuk kolom MySQL INT UNSIGNED. Misalnya, untuk kolom INT(3) ZEROFILL dengan nilai 1, hasil yang Anda ambil adalah 001 Catatan. Ingatlah bahwa UNSIGNED ditambahkan secara otomatis ke kolom numerik Lihat contohnya. Kami membuat tabel MySQL ProductsNew yang memiliki kolom dengan atribut ZEROFILL Dalam dokumen SQL baru, jalankan pernyataan CREATE berikut _Kemudian, sisipkan baris baru di tabel ProductsNew menggunakan pernyataan INSERT INTO dan jalankan
Ambil data dan periksa hasilnya Perlu diingat bahwa untuk MySQL 8. 0. 17, atribut ZEROFILL telah ditinggalkan untuk tipe data numerik Jenis INT MySQLSeperti yang disebutkan sebelumnya, MySQL mendukung tipe data standar SQL INT dan SMALLINT. Selain itu, MySQL mendukung TINYINT, MEDIUMINT, dan BIGINT. Jenis data bilangan bulat apa yang dipilih tergantung pada data yang akan Anda simpan di kolom. Misalnya, jika Anda yakin bahwa nilai di kolom tidak akan melebihi nilai maksimum dalam rentang INT – 255, maka Anda dapat menggunakan tipe data TINYINT, yang pada gilirannya akan meningkatkan kinerja database. Namun, jika Anda perlu menyimpan data yang sangat besar seperti basis klien yang akan terus bertambah, akan lebih baik menggunakan INT atau BIGINT. Selain itu, jika data yang disimpan di kolom tidak akan pernah menggunakan nilai negatif, UNSIGNED harus disetel. Rentang INT akan sama, misalnya untuk INT(5), INT(1), INT(100) Mari kita lihat masing-masing tipe data integer dan contoh penggunaannya Contoh TINYINTTINYINT adalah bilangan bulat yang sangat kecil. Nilai SIGNED minimum dan maksimum masing-masing adalah -128 dan 127, sedangkan untuk nilai UNSIGNED rentang TINYINT adalah dari 0 hingga 255. TINYINT menggunakan 1 byte per baris. Ini adalah pilihan terbaik bila Anda ingin menghemat ruang pada disk Anda dan meningkatkan kinerja Perhatikan contoh cara menggunakan bilangan bulat TINYINT. Buat tabel StudentGroup dengan pernyataan CREATE
Kemudian, masukkan data ke dalam kolom menggunakan pernyataan INSERT _Setelah mengambil data, kami melihat bahwa kueri berhasil diselesaikan Namun jika kita memasukkan nilai yang tidak termasuk dalam rentang dan mencoba mengambil data,
kita akan mendapatkan error 'Out of range value for column' Grade' at row 12′ Perhatikan bahwa dimulai dengan MySQL 8. 0, lebar tampilan tidak digunakan lagi untuk TINYINT dan Anda harus memperhitungkannya saat bermigrasi ke versi baru. Namun, penghentian ini tidak memengaruhi TINYINT(1), tetapi penting bagi TINYINT(4) Contoh KECILSMALLINT adalah bilangan bulat kecil. Kisaran SMALLINT untuk nilai SIGNED adalah dari -32768 hingga 32767. Nilai minimum dan maksimum untuk SMALLINT UNSIGNED masing-masing adalah 0 dan 65535. Ukurannya 2 byte per baris Contoh cara menggunakan SMALLINT adalah sebagai berikut. Buat tabel SmallintTable menggunakan pernyataan CREATE _Sisipkan nilai kolom yang sesuai dengan rentang SMALLINT dan jalankan kueri
Setelah mengambil data, kueri diselesaikan tanpa kesalahan Sekarang, ubah nilainya dengan memasukkan data yang tidak termasuk dalam rentang SMALLINT _Akibatnya, Anda akan melihat pesan kesalahan bahwa nilainya di luar kisaran Perhatikan bahwa dimulai dengan MySQL 8. 0, lebar tampilan tidak digunakan lagi untuk SMALLINT dan Anda harus memperhitungkannya saat bermigrasi ke versi baru. Namun, penghentian ini tidak memengaruhi SMALLINT(1) Contoh SEDANGMEDIUMINT adalah bilangan bulat berukuran sedang. Nilai minimum dan maksimum untuk MEDIUMINT SIGNED masing-masing adalah -8388608 dan 8388607. Kisaran untuk nilai UNSIGNED minimum dan maksimum masing-masing sama dengan 0 dan 16777215. Ukurannya 3 byte per baris Contoh cara menggunakan MEDIUMINT adalah sebagai berikut. Pertama, buat tabel MediumIntTable dengan pernyataan CREATE _Kemudian, tambahkan nilai yang benar ke kueri, ambil data untuk melihat apakah semuanya berfungsi dengan benar 0Setelah itu, ubah nilainya menjadi nilai yang melebihi rentang yang diperbolehkan. _1Akibatnya, muncul pesan kesalahan yang menginformasikan bahwa nilai_2 berada di luar rentang Perhatikan bahwa dimulai dengan MySQL 8. 0, lebar tampilan tidak digunakan lagi untuk MEDIUMINT dan Anda harus memperhitungkannya saat bermigrasi ke versi baru. Namun, penghentian ini tidak memengaruhi MEDIUMINT(1) Contoh BESARBIGINT adalah bilangan bulat besar. Nilai minimum dan maksimum untuk SIGNED masing-masing adalah – -263 dan 263-1. Kisaran nilai minimum dan maksimum untuk UNSIGNED masing-masing sama dengan 0 dan 264-1. Ukurannya 8 byte per baris Contoh cara menggunakan BIGINT adalah sebagai berikut. Mari buat tabel BigIntTable dengan tipe data BIGINT dan atribut AUTO_INCREMENT untuk kolom ID. Kemudian, tambahkan ke kueri angka negatif sebagai nilai_1 dan angka positif sebagai nilai_2 yang termasuk dalam rentang _2Setelah itu, ambil data untuk memastikannya berfungsi dengan benar Setelah selesai, ubah nilainya menjadi nilai yang melebihi rentang yang diizinkan _3Akibatnya, muncul pesan kesalahan yang menginformasikan bahwa nilai_2 berada di luar rentang Kami ingin menyebutkan bahwa menggunakan INT sebagai kunci primer, kunci asing, atau indeks sebagai ganti BIGINT dapat menjadi poin penting dalam meningkatkan kinerja, menghemat ruang disk, dan mengurangi ukuran indeks Perhatikan bahwa dimulai dengan MySQL 8. 0, lebar tampilan tidak digunakan lagi untuk BIGINT dan Anda harus mempertimbangkannya saat bermigrasi ke versi baru. Namun, penghentian ini tidak memengaruhi BIGINT(1) KesimpulanPada artikel ini, kami telah meninjau tipe data MySQL INTEGER, nilai SIGNED dan UNSIGNED, atribut AUTO_INCREMENT, ZEROFILL, dan display_width. Bergantung pada proyek Anda, Anda harus memilih tipe data INTEGER mana yang paling cocok untuk Anda. Juga, artikel ini memberikan contoh bagaimana dan kapan tipe data INTEGER di MySQL Unduh versi uji coba gratis selama 30 hari untuk mencoba dan menilai semua fitur berharga dan canggih dari dbForge Studio untuk MySQL dan alat dbForge MySQL lainnya yang secara drastis meningkatkan kinerja Anda, memaksimalkan produktivitas, dan memungkinkan Anda mengatasi tugas pengembangan dan pengelolaan database dengan cepat dan mudah Bagaimana cara mengubah Bigint menjadi bilangan bulat?intValue() mengonversi BigInteger ini menjadi int. Konversi ini analog dengan konversi primitif yang menyempit dari long ke int. Jika BigInteger ini terlalu besar untuk dimasukkan ke dalam int, hanya 32 bit orde rendah yang dikembalikan.
Bagaimana cara mengonversi ke INT di MySQL?Untuk mentransmisikan VARCHAR ke INT, kita dapat menggunakan fungsi cast() dari MySQL . Berikut adalah sintaks dari fungsi cast(). Sebagai contoh kita akan membuat tabel dengan bantuan perintah create. Tampilkan semua rekaman dengan bantuan pernyataan pilih.
Apa perbedaan antara int dan Bigint di MySQL?Tipe data int adalah tipe data integer utama di SQL Server. Tipe data bigint dimaksudkan untuk digunakan saat nilai integer mungkin melebihi rentang yang didukung oleh tipe data int . bigint cocok antara smallmoney dan int dalam bagan prioritas tipe data.
Apa itu CAST () di MySQL?Fungsi CAST() mengonversi nilai (dari jenis apa pun) ke dalam tipe data yang ditentukan . |