Bagaimana Anda membuat tabel dengan tipe data boolean di mysql?

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 0

Tambahkan 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

Bagaimana Anda membuat tabel dengan tipe data boolean di mysql?

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_CHECKEDa1b0

Anda 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_CHECKEDa1b0

Anda 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_CHECKEDa1b0

Anda 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))
);
0

Anda dapat menyisipkan nilai boolean menggunakan pernyataan INSERT

CREATE TABLE testbool (
  sometext VARCHAR2(10),
  is_checked NUMBER(1),
  CONSTRAINT ck_testbool_ischk CHECK (is_checked IN (1,0))
);
1

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))
);
_4

Anda 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))
);
5

Namun, 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

Bagaimana cara membuat tabel dengan boolean di MySQL?

MySQL tidak memiliki tipe data boolean (atau bool). Sebaliknya, itu mengubah nilai boolean menjadi tipe data integer (TINYINT). Saat Anda membuat tabel dengan tipe data boolean, MySQL mengeluarkan data sebagai 0, jika salah, dan 1, jika benar .

Bagaimana Anda membuat tabel dengan tipe data BOOLEAN?

CREATE TABLE testbool ( sometext TEXT, is_checked BOOLEAN ); Anda dapat menyisipkan nilai boolean menggunakan pernyataan INSERT. INSERT INTO testbool (sometext, is_checked) VALUES ('a', TRUE); .

Bagaimana cara membuat tipe data BOOLEAN di SQL?

Di 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. Ini akan memberikan sifat boolean untuk tipe data.

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++.