Computer >> Máy Tính >  >> Lập trình >> MySQL

Sự khác biệt giữa Boolean và tinyint (1) trong MySQL là gì?

Sự khác biệt cơ bản giữa Boolean và tinyint (1) chỉ nằm ở quy ước đặt tên. Nếu chúng ta nói rằng chúng ta cần giá trị true hoặc false thì Boolean xuất hiện trong tâm trí chúng ta, thay vì tinyint (1).

Các kiểu dữ liệu này là từ đồng nghĩa. Loại dữ liệu nào chúng ta muốn sử dụng là tùy thuộc vào chúng ta - các giá trị có thể là 1 và 0 hoặc đúng và sai.

Sau đây là một ví dụ.

Tạo bảng với kiểu dữ liệu Boolean.

mysql> create table BooleanDemo
   -> (
   -> Light Boolean
   -> );
Query OK, 0 rows affected (0.52 sec)

Chèn bản ghi vào bảng.

mysql> insert into BooleanDemo values(true);
Query OK, 1 row affected (0.12 sec)

Để hiển thị tất cả bản ghi.

mysql> select *from BooleanDemo;

Sau đây là kết quả hiển thị Boolean TRUE.

+-------+
| Light |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)

Tạo bảng với kiểu dữ liệu tinyint (1).

mysql> create table tinyint1Demo
   -> (
   -> Light tinyint(1)
   -> );
Query OK, 0 rows affected (0.58 sec)

Chèn bản ghi vào bảng.

mysql> insert into tinyint1Demo values(1);
Query OK, 1 row affected (0.12 sec)

Để hiển thị tất cả các bản ghi.

mysql> select *from tinyint1Demo;

Đây là kết quả đầu ra.

+-------+
| Light |
+-------+
|     1 |
+-------+
1 row in set (0.00 sec)

Lưu ý - Sự khác biệt cơ bản duy nhất là về ngữ nghĩa. Nếu chúng ta đang nói về true hoặc false thì rõ ràng kiểu dữ liệu phải là boolean. Nhưng nếu chúng ta đang nói về 0 hoặc 1 thì kiểu dữ liệu phải là tinyint (1).