Menambahkan kolom Boolean di MySQL dengan nilai default adalah proses sederhana yang dapat diselesaikan dalam beberapa langkah. Anda dapat menambahkan kolom ke tabel yang sudah ada atau saat membuat tabel baru. Kami akan menjelaskan semua proses yang dapat digunakan untuk menambahkan kolom boolean di tabel MYSQL dengan nilai default - benar atau salah
Tambahkan kolom Boolean dengan nilai default di tabel MySQL yang sudah ada
Jika tabel Anda sudah ada di database dan Anda ingin menambahkan kolom boolean dengan nilai default (benar atau salah), maka Anda dapat menggunakan kueri MySQL yang dijelaskan di bawah ini.
Misalnya - Jika kita memiliki tabel bernama pengguna dan kita ingin menambahkan kolom baru is_active yang memiliki tipe data Boolean dan kita ingin menetapkan nilai default untuk itu maka kita dapat menggunakan kueri MySQL di bawah ini
Tambahkan dengan nilai default false(0)
ALTER TABLE user ADD COLUMN is_active BOOLEAN DEFAULT 0Tambahkan dengan nilai default true(1)
ALTER TABLE user ADD COLUMN is_active BOOLEAN DEFAULT 1_Menambahkan kolom Boolean dengan nilai default ke tabel MySQL yang sudah ada dapat dilakukan dalam beberapa langkah sederhana
Pertama, gunakan perintah ALTER TABLE untuk menambahkan kolom baru
Selanjutnya, tetapkan nilai default 0(false) atau 1(true) ke kolom dan jalankan kueri MySQL
Terakhir, gunakan perintah SELECT untuk memverifikasi bahwa kolom baru telah ditambahkan dan nilai default sudah benar
Jika Anda ingin membaca lebih lanjut tentang kueri ALTER TABLE klik di sini
Tambahkan kolom tipe boolean dengan nilai default saat membuat tabel
Untuk menambahkan kolom tipe boolean dengan nilai default saat membuat tabel di MySQL, sintaks SQL berikut dapat digunakan
Sintaksis
CREATE TABLE table_name ( column_name BOOLEAN NOT NULL default 0 );Misalnya, jika kita ingin membuat tabel bernama siswa di database MySQL kita dengan kolom bernama is_active maka kita dapat menggunakan kueri MySQL di bawah ini
CREATE TABLE student ( is_active BOOLEAN NOT NULL default 0 );Dalam kueri di atas, kami telah menetapkan nilai salah ke kolom is_active dalam kueri buat tabel SQL
Jika Anda ingin membaca lebih lanjut tentang membuat tabel di MySQL, klik tautan di bawah ini
Buat tabel dengan batasan kueri MySQL
Apa arti menambahkan nilai default ke kolom di MySQL?
Menambahkan nilai default ke kolom di MySQL berarti jika tidak ada nilai yang ditentukan untuk kolom tersebut saat record baru dimasukkan, nilai default akan digunakan
Misalnya, jika Anda memiliki tabel bernama karyawan yang memiliki banyak kolom di dalamnya. Jika ada kolom di dalamnya yang berisi nilai default maka setiap kali baris baru akan disisipkan ke tabel ini dan Anda belum menetapkan nilai apa pun ke kolom nilai default maka nilai default akan dimasukkan secara otomatis untuk baris itu
Apakah Anda perlu menyimpan nilai boolean di database SQL Anda?
Daftar isi
Apa itu Boolean?
Boolean adalah tipe data yang dapat menyimpan nilai True atau False. Ini sering disimpan sebagai 1 (benar) atau 0 (salah). Itu dinamai George Boole yang pertama kali mendefinisikan sistem logika aljabar di abad ke-19
Nilai Boolean umum dalam bahasa pemrograman, tetapi apakah ada dalam SQL?
Jawabannya tergantung pada vendor database mana yang Anda gunakan
Kabar baiknya adalah meskipun tidak ada tipe data boolean khusus, Anda dapat mencapai fungsionalitas yang sama menggunakan tipe data lainnya
Apakah Ada Boolean di SQL?
Tabel ini menunjukkan ada atau tidaknya tipe data boolean di setiap vendor SQL
DatabaseBoolean?Gunakan SebaliknyaOracleNoNUMBER(1)SQL ServerNoBITMySQLNoBIT atau TINYINTPostgreSQLYa
Oracle Boolean
Apakah ada tipe data boolean di Oracle SQL?
Tidak, tidak ada
Anda tidak dapat mendeklarasikan kolom dengan tipe data BOOLEAN
Namun, ada beberapa alternatif, yang telah saya jelaskan di bawah ini
Cara yang disarankan untuk menyimpan boolean di Oracle SQL adalah dengan menggunakan kolom NUMBER(1). Ini dapat menyimpan 1 sebagai benar dan 0 sebagai salah
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1) );_Anda dapat menambahkan batasan centang pada kolom untuk memastikan nilai lain tidak dapat dimasukkan
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1), CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0)) );Ini berarti Anda dapat memasukkan 1 (untuk BENAR) atau 0 (untuk SALAH) ke dalam kolom ini
INSERT INTO testbool (sometext, is_checked) VALUES ('a', 1); INSERT INTO testbool (sometext, is_checked) VALUES ('b', 0);_Saat Anda memilih nilai ini, nilai tersebut ditampilkan hanya sebagai 1 atau 0
SELECT sometext, is_checked FROM testbool;SOMETEXTIS_CHECKEDa1b0Anda dapat mengonversi nilai ini menjadi nilai lain untuk ditampilkan dalam aplikasi jika Anda tidak ingin menampilkan 1 atau 0
Ada beberapa metode lain untuk menyimpan boolean, yang telah saya soroti di akhir postingan, termasuk alasan mengapa saya tidak merekomendasikannya
PL/SQL memiliki tipe data boolean, jadi jika Anda menulis kode PL/SQL (prosedur tersimpan, misalnya), Anda dapat menggunakan tipe data boolean
SQL Server Boolean
Tidak ada tipe data boolean di SQL Server
Namun, opsi umum adalah menggunakan tipe data BIT
Tipe data BIT digunakan untuk menyimpan nilai bit dari 1 hingga 64. Jadi, bidang BIT dapat digunakan untuk boolean, memberikan 1 untuk BENAR dan 0 untuk SALAH
CREATE TABLE testbool ( sometext VARCHAR(10), is_checked BIT );_Ini berarti Anda dapat memasukkan 1 (untuk BENAR) atau 0 (untuk SALAH) ke dalam kolom ini. Tidak perlu menambahkan batasan centang karena nilai BIT hanya menerima 1 atau 0
INSERT INTO testbool (sometext, is_checked) VALUES ('a', 1); INSERT INTO testbool (sometext, is_checked) VALUES ('b', 0);_Saat Anda memilih nilai ini, nilai tersebut ditampilkan sebagai 1 atau 0
SELECT sometext, is_checked FROM testbool;SOMETEXTIS_CHECKEDa1b0Anda dapat mengonversi nilai ini menjadi nilai lain untuk ditampilkan dalam aplikasi jika Anda tidak ingin menampilkan 1 atau 0
Boolean MySQL
MySQL memang memiliki tipe data boolean. Namun, itu hanya sinonim untuk TINYINT yang merupakan bidang numerik
Alternatif umum adalah menggunakan bidang BIT
Tipe data BIT digunakan untuk menyimpan nilai bit dari 1 hingga 64. Jadi, bidang BIT(1) dapat digunakan untuk boolean, memberikan 1 untuk BENAR dan 0 untuk SALAH. Sama seperti di SQL Server
CREATE TABLE testbool ( sometext VARCHAR(10), is_checked BIT(1) );Ini berarti Anda dapat memasukkan 1 (untuk BENAR) atau 0 (untuk SALAH) ke dalam kolom ini. Tidak perlu menambahkan batasan centang karena nilai BIT hanya menerima 1 atau 0
INSERT INTO testbool (sometext, is_checked) VALUES ('a', 1); INSERT INTO testbool (sometext, is_checked) VALUES ('b', 0);_Saat Anda memilih nilai ini, nilai tersebut ditampilkan hanya sebagai 1 atau 0
SELECT sometext, is_checked FROM testbool;SOMETEXTIS_CHECKEDa1b0Anda dapat mengonversi nilai ini menjadi nilai lain untuk ditampilkan dalam aplikasi jika Anda tidak ingin menampilkan 1 atau 0
Alternatifnya, karena MySQL memetakan tipe data BOOLEAN ke tipe data TINYINT, menggunakan BOOLEAN atau TINYINT(1) bisa mendapatkan hasil yang sama
Ada beberapa metode lain untuk menyimpan boolean, yang telah saya soroti di akhir postingan, termasuk alasan mengapa saya tidak merekomendasikannya
PostgreSQL Boolean
PostgreSQL memang memiliki tipe data boolean
Anda dapat menyimpan benar atau salah dalam kolom ini, yang dapat diwakili oleh banyak nilai yang berbeda
- BENAR. diwakili oleh TRUE, 't', 'true', 'y', 'yes', 'on', '1'
- SALAH. diwakili oleh FALSE, 'f', 'false', 'n', 'no', 'off', '0'
Kata kunci BENAR dan SALAH lebih disukai
Contoh tipe data boolean di PostgreSQL adalah
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1), CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0)) );0Anda dapat menyisipkan nilai boolean menggunakan pernyataan INSERT
Saat Anda memilih nilai boolean, nilai itu ditampilkan sebagai 't' atau 'f'
SELECT sometext, is_checked FROM testbool;SOMETEXTIS_CHECKEDatbf
Alternatif Boolean
Jika database Anda tidak mendukung tipe data boolean, ada beberapa metode alternatif
NOMOR(1) dengan 1 dan 0
Ini adalah opsi yang bagus untuk Oracle karena tidak menyertakan tipe data BIT
Anda dapat membuat kolom dengan tipe data NUMBER(1), dan menggunakan batasan centang untuk menerapkan 1 atau 0
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1), CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0)) );Ini akan berfungsi sebagai boolean. Namun, jika Anda menggunakan SQL Server atau MySQL, tipe data BIT lebih tepat karena lebih sederhana dan memiliki pemeriksaan bawaan jika nilainya 1 atau 0
Kalau tidak, itu alternatif yang bagus
CHAR(1) atau VARCHAR(1) dengan T dan F
Menggunakan bidang CHAR satu karakter adalah opsi lain yang disarankan. Dua karakter bisa jadi T untuk TRUE dan F untuk FALSE
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1), CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0)) );_4Anda bisa menambahkan batasan centang untuk memastikan nilainya T atau F
Namun, masalahnya adalah itu tidak diakui secara global. Dalam bahasa Inggris, T dan F bisa berarti Benar atau Salah. Tapi bagaimana dengan bahasa Prancis atau Jerman atau Spanyol atau bahasa lainnya?
Jika Anda mengharapkan pengembang lain dari negara lain maka T/F mungkin bukan pilihan terbaik
CHAR(1) atau VARCHAR(1) dengan Y dan N
Alasan yang sama seperti menggunakan T/F dapat diterapkan untuk menggunakan Y/N. Bidang karakter tunggal yang didesain hanya untuk menampung Y atau N dapat digunakan untuk boolean
Batasan pemeriksaan bersifat opsional tetapi disarankan
CREATE TABLE testbool ( sometext VARCHAR2(10), is_checked NUMBER(1), CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0)) );5Namun, seperti menggunakan T/F, menggunakan Y/N tidak dapat dikenali dalam bahasa lain. Itu bisa membingungkan pengembang lain yang tidak terbiasa melihat Y untuk Ya dan N untuk Tidak
Kesimpulan
Tipe data boolean yang umum di bahasa pemrograman lain tidak selalu tersedia di SQL. PostgreSQL memiliki tipe data boolean, dan vendor database lainnya mengizinkan metode lain untuk menangkap nilai benar/salah yang digunakan untuk boolean