Untuk menangani Boolean di MySQL, Anda dapat menggunakan BOOL atau BOOLEAN atau TINYINT(1). Jika Anda menggunakan BOOL atau BOOLEAN, maka MySQL secara internal mengubahnya menjadi TINYINT(1) Show Pada tipe data BOOL atau BOOLEAN, jika menggunakan true literal maka MySQL merepresentasikannya sebagai 1 dan false literal sebagai 0 seperti pada bahasa PHP/C/C++ Untuk membuktikan bahwa MySQL mengonversi BOOL atau BOOLEAN menjadi TINYINT(1), mari kita buat tabel dengan kolom BOOLEAN atau BOOL Di sini, kami membuat tabel dengan kolom BOOLEAN. Permintaan untuk membuat tabel adalah sebagai berikut mysql> create table BoolOrBooleanOrTinyintDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> isvalidAddress BOOLEAN, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.74 sec) Sekarang periksa DDL dari tabel di atas menggunakan perintah SHOW CREATE. Kuerinya adalah sebagai berikut mysql> show create table BoolOrBooleanOrTinyintDemo\G_ Berikut ini adalah outputnya *************************** 1. row *************************** Table: BoolOrBooleanOrTinyintDemo Create Table: CREATE TABLE `boolorbooleanortinyintdemo` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `isvalidAddress` tinyint(1) DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec) Perhatikan kolom isvalidAddress, tipe data BOOLEAN diubah menjadi tinyint(1) secara internal. Sekarang Anda dapat memeriksa literal yang benar akan diwakili oleh 1 dan literal yang salah dengan 0. Sisipkan beberapa catatan dalam tabel dengan nilai literal benar dan salah. Permintaan untuk memasukkan catatan adalah sebagai berikut mysql> insert into BoolOrBooleanOrTinyintDemo(isvalidAddress) values(true); Query OK, 1 row affected (0.43 sec) mysql> insert into BoolOrBooleanOrTinyintDemo(isvalidAddress) values(false); Query OK, 1 row affected (0.17 sec) mysql> insert into BoolOrBooleanOrTinyintDemo(isvalidAddress) values(true); Query OK, 1 row affected (0.29 sec) mysql> insert into BoolOrBooleanOrTinyintDemo(isvalidAddress) values(false); Query OK, 1 row affected (0.12 sec) mysql> insert into BoolOrBooleanOrTinyintDemo(isvalidAddress) values(true); Query OK, 1 row affected (0.33 sec) Tampilkan semua rekaman dari tabel menggunakan pernyataan pilih. Permintaan untuk menampilkan semua catatan adalah sebagai berikut mysql> select *from BoolOrBooleanOrTinyintDemo;_ Berikut ini adalah outputnya +----+----------------+ | Id | isvalidAddress | +----+----------------+ | 1 | 1 | | 2 | 0 | | 3 | 1 | | 4 | 0 | | 5 | 1 | +----+----------------+ 5 rows in set (0.00 sec) Lihatlah output sampel di atas, true direpresentasikan sebagai 1 dan false direpresentasikan sebagai 0 Dalam PHP, jika Anda menggunakan true maka akan direpresentasikan sebagai 1 dan false akan direpresentasikan sebagai 0 Perhatikan kode PHP berikut. Di sini, saya telah mengatur variabel 'isValidAddress'. Nilainya adalah 1, artinya mengevaluasi kondisi if benar dan mengeksekusi pernyataan if saja. Periksa kode berikut $isValidAddress = 1; if($isValidAddress) { echo 'true is represented as '; echo ($isValidAddress); } else { echo 'false is represented as '; echo ($isValidAddress); }_ Ini snapshot dari kode Berikut ini adalah outputnya Jika Anda mengubah variabel 'isValidAddress' menjadi nilai 0. Itu berarti mengevaluasi kondisi if false dan mengeksekusi tubuh pernyataan lain saja. Berikut ini adalah kodenya Meskipun nilai boolean adalah tipe nilai paling umum yang dapat Anda temukan dalam bahasa pemrograman, MySQL sebenarnya tidak memiliki tipe data 0 yang disimpan sebagai 1 atau 2 secara internalSebagai gantinya, MySQL menggunakan tipe data _3 untuk setiap kolom dengan tipe data 4 atau 0Perhatikan contoh pernyataan _6 berikut ini. Perhatikan bagaimana kolom _7 ditandai sebagai tipe 0
Saat Anda berhasil membuat tabel, Anda dapat memeriksa tipe data yang diimplementasikan untuk kolom menggunakan pernyataan 9Perhatikan bagaimana kolom _7 memiliki 3 ketik hasil yang ditetapkan di bawah ini
Kata kunci _4 atau 0 sebenarnya adalah alias dari 3Seperti bahasa pemrograman lainnya, MySQL menganggap angka 5 sama dengan 2, sedangkan angka 7 dianggap 1Anda sebenarnya dapat menguji ini menggunakan pernyataan _9 sebagai berikut
Nilai 1 sebenarnya adalah angka selain 5, tetapi disarankan untuk menggunakan angka 7 agar penyimpanan nilai boolean menjadi sederhana dan konsistenAnda dapat menguji ini di MySQL dengan menggunakan fungsi 3
Set hasil yang dikembalikan akan seperti yang ditunjukkan di bawah ini
Seperti yang Anda lihat, bahkan angka negatif dianggap 1 oleh MySQLMeskipun MySQL menggunakan 3 untuk kolom 0, Anda tidak perlu menyisipkan 5 atau 7 untuk kolom saat Anda mengeluarkan pernyataan 9MySQL akan secara otomatis mengonversi nilai 1 atau 2 menjadi nilai numerik yang sesuaiKembali ke contoh tabel _2, mari sisipkan dua buku dengan salah satunya tidak diterbitkan sebagai berikut
Tabel _2 sekarang akan memiliki data berikut
Anda juga dapat menanyakan tabel Anda menggunakan nilai _1 atau 2 sebagai berikut
Tetapi masalah dengan menggunakan 3 untuk tipe 0 adalah bahwa output dari pernyataan 9 akan menampilkan 7 atau 5 alih-alih 1 atau 2Anda perlu menggunakan fungsi 3 untuk mengonversi nilai angka menjadi ekuivalen boolean
Dengan kueri SQL di atas, kolom _7 akan memiliki nilai 1 atau 2 seperti yang ditunjukkan di bawah ini
Dan begitulah tipe _0 digunakan di MySQLSelain tipe _3, administrator MySQL juga dapat menggunakan tipe 9 atau 0 untuk menyimpan nilai booleanAnda dapat mempelajari lebih lanjut tentang mereka di sini
_3 adalah alias default untuk tipe 0 seperti yang didefinisikan oleh MySQL, tetapi Anda dapat menggunakan tipe lain jika Anda tahu apa yang Anda lakukan. 😉
Bagaimana cara memasukkan data boolean di MySQL?MySQL tidak berisi tipe data Boolean atau Bool bawaan . Mereka menyediakan tipe data TINYINT, bukan tipe data Boolean atau Bool. MySQL menganggap nilai nol sebagai salah dan nilai bukan nol sebagai benar. Jika Anda ingin menggunakan literal Boolean, gunakan true atau false yang selalu bernilai 0 dan 1.
Bagaimana cara menggunakan boolean di MySQL?Untuk menangani Boolean di MySQL, Anda dapat menggunakan BOOL atau BOOLEAN atau TINYINT(1) . Jika Anda menggunakan BOOL atau BOOLEAN, maka MySQL secara internal mengubahnya menjadi TINYINT(1). Pada tipe data BOOL atau BOOLEAN, jika menggunakan true literal maka MySQL merepresentasikannya sebagai 1 dan false literal sebagai 0 seperti pada bahasa PHP/C/C++.
Bisakah kita menyimpan boolean di SQL?Dalam SQL Server, Tipe Data Boolean dapat dibuat dengan mempertahankan tipe data BIT . Meskipun merupakan tipe data numerik, ia hanya dapat menerima nilai 0 atau 1 atau NULL. Karenanya dengan mudah kita dapat menetapkan nilai FALSE ke 0 dan nilai TRUE ke 1.
Bisakah kita menyimpan boolean di database?BOOLEAN dapat digunakan sebagai tipe data saat mendefinisikan kolom dalam tabel atau variabel dalam prosedur basis data . Dukungan untuk tipe data BOOLEAN membantu migrasi dari produk database lainnya. Kolom Boolean menerima sebagai masukan literal SQL SALAH dan BENAR. |