Saya memahami masalah kompatibilitas. Tapi pada akhirnya, yang paling cocok solusi harus dipilih, bahkan jika itu berarti beberapa adaptasi manual dalam kode klien. Di sisi lain, saya tidak yakin tentang yang terbaik larutan 1. Pemetaan ke tipe berikutnya yang lebih tinggi menyebabkan ketidakcocokan, seperti Show
2. Tidak memetakan sama sekali menyebabkan kebingungan, karena Java tidak Mungkin, opsi No. 2 lebih baik dan kemudian saya dapat menambahkan metode utilitas ke Hal serupa dapat dilakukan untuk memasukkan data, seperti yang Anda jelaskan Perhatikan bahwa dengan Saat memutuskan apakah akan menggunakan Untuk menentukan kolom id peningkatan otomatis SIGNED _3Untuk menentukan kolom SIGNED 6Karena kolom 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 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 unsignedmaMaxiMium valueMaxiMum nilai unsignedTinyInt1-1280127255.838608888888607167777726462860808388888607167777777726262628628826Biasanya, 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 Apa itu INT yang ditandatangani dan tidak ditandatangani di MySQL?Rentang bertanda adalah -2147483648 hingga 2147483647. Rentang yang tidak ditandatangani adalah 0 hingga 4294967295 . Jenis ini adalah sinonim untuk INT. Bilangan bulat besar.
Apa itu tipe INT yang tidak ditandatangani?Bilangan Bulat Tak Bertanda (sering disebut "uints") adalah sama seperti bilangan bulat (bilangan bulat) tetapi memiliki properti yang tidak memiliki tanda + atau - yang terkait dengannya< . Jadi mereka selalu non-negatif (nol atau positif). Kami menggunakan uint ketika kami tahu nilai yang kami hitung akan selalu non-negatif. . Thus they are always non-negative (zero or positive). We use uint's when we know the value we are counting will always be non-negative.
Apa saja jenis INT di MySQL?MySQL mendukung tipe integer standar SQL INTEGER (atau INT ) dan SMALLINT . Sebagai perpanjangan dari standar, MySQL juga mendukung tipe integer TINYINT , MEDIUMINT , dan BIGINT. |