Để tạo điều kiện cho việc sử dụng mã được viết cho các triển khai SQL từ các nhà cung cấp khác, các loại dữ liệu bản đồ MySQL như được hiển thị trong bảng sau. Các ánh xạ này giúp nhập các định nghĩa bảng dễ dàng hơn từ các hệ thống cơ sở dữ liệu khác vào MySQL.
Ánh xạ kiểu dữ liệu xảy ra tại thời gian tạo bảng, sau đó các thông số kỹ thuật loại ban đầu bị loại bỏ. Nếu bạn tạo một bảng với các loại được sử dụng bởi các nhà cung cấp khác và sau đó đưa ra câu lệnh
mysql> SELECT TRUE, true, FALSE, false;
-> 1, 1, 0, 0
2, MySQL sẽ báo cáo cấu trúc bảng bằng các loại MySQL tương đương. Ví dụ:mysql> CREATE TABLE t [a BOOL, b FLOAT8, c LONG VARCHAR, d NUMERIC];
Query OK, 0 rows affected [0.00 sec]
mysql> DESCRIBE t;
+-------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------+------+-----+---------+-------+
| a | tinyint[1] | YES | | NULL | |
| b | double | YES | | NULL | |
| c | mediumtext | YES | | NULL | |
| d | decimal[10,0] | YES | | NULL | |
+-------+---------------+------+-----+---------+-------+
4 rows in set [0.01 sec]
Chương 11 Kiểu dữ liệu
MySQL hỗ trợ các loại dữ liệu SQL trong một số loại: loại số, loại ngày và thời gian, loại chuỗi [ký tự và byte], loại không gian và loại dữ liệu
mysql> SELECT TRUE, true, FALSE, false;
-> 1, 1, 0, 0
3. Chương này cung cấp một cái nhìn tổng quan và mô tả chi tiết hơn về các thuộc tính của các loại trong mỗi loại và tóm tắt các yêu cầu lưu trữ kiểu dữ liệu. Các tổng quan ban đầu được cố ý ngắn gọn. Tham khảo các mô tả chi tiết hơn để biết thêm thông tin về các loại dữ liệu cụ thể, chẳng hạn như các định dạng cho phép trong đó bạn có thể chỉ định các giá trị.Mô tả kiểu dữ liệu Sử dụng các quy ước này:
Đối với các loại số nguyên,
4 cho biết độ rộng hiển thị tối đa. Đối với các loại điểm nổi và điểm cố định,mysql> SELECT TRUE, true, FALSE, false; -> 1, 1, 0, 0
4 là tổng số chữ số có thể được lưu trữ [độ chính xác]. Đối với các loại chuỗi,mysql> SELECT TRUE, true, FALSE, false; -> 1, 1, 0, 0
4 là độ dài tối đa. Giá trị tối đa cho phép củamysql> SELECT TRUE, true, FALSE, false; -> 1, 1, 0, 0
4 phụ thuộc vào kiểu dữ liệu.mysql> SELECT TRUE, true, FALSE, false; -> 1, 1, 0, 0
8 áp dụng cho các loại điểm nổi và điểm cố định và chỉ ra số lượng các chữ số theo điểm thập phân [tỷ lệ]. Giá trị tối đa có thể là 30, nhưng không nên lớn hơn ____ 14−2.mysql> SELECT TRUE, true, FALSE, false; -> 1, 1, 0, 0
0 áp dụng cho các loại
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
1,
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
2 và
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
3 và biểu thị độ chính xác của giây; Đó là, số lượng các chữ số theo điểm thập phân cho các phần phân số của giây. Giá trị
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
0, nếu được đưa ra, phải nằm trong phạm vi 0 đến 6. Giá trị 0 biểu thị rằng không có phần phân số. Nếu bị bỏ qua, độ chính xác mặc định là 0. [điều này khác với mặc định SQL tiêu chuẩn là 6, để tương thích với các phiên bản MySQL trước đó.]
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
Dấu ngoặc vuông [
5 và
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
6] cho biết các phần tùy chọn của định nghĩa loại.
Code language: SQL [Structured Query Language] [sql]SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
9.1.6 & nbsp; Boolean L cần
Các hằng số
7 vàCode language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
8 đánh giá tương ứng vớiCode language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
9 vàCode language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
0. Các tên liên tục có thể được viết trong bất kỳ chữ cái nào.Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
mysql> SELECT TRUE, true, FALSE, false;
-> 1, 1, 0, 0
Tóm tắt: Hướng dẫn này chỉ cho bạn cách sử dụng kiểu dữ liệu boolean MySQL để lưu trữ các giá trị boolean, đúng và sai.: this tutorial shows you how to use MySQL BOOLEAN data type to store Boolean values, true and false.
MySQL không có loại Boolean tích hợp. Tuy nhiên, nó sử dụng
1 thay thế. Để làm cho nó thuận tiện hơn, MySQL cung cấpCode language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
2 hoặcCode language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
3 như từ đồng nghĩa củaCode language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
1.Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Trong MySQL, Zero được coi là sai và giá trị khác không được coi là đúng. Để sử dụng các chữ Boolean, bạn sử dụng các hằng số
7 vàCode language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
8 đánh giá tương ứng với 1 và 0. Xem ví dụ sau:Code language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
Code language: SQL [Structured Query Language] [sql]
SELECT true, false, TRUE, FALSE, True, False; -- 1 0 1 0 1 0
Ví dụ boolean mysql
MySQL lưu trữ giá trị boolean trong bảng dưới dạng số nguyên. Để chứng minh điều này, hãy để Lôi nhìn vào bảng
7 sau:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Code language: SQL [Structured Query Language] [sql]
Mặc dù chúng tôi đã chỉ định cột đã hoàn thành là
2, khi chúng tôi hiển thị định nghĩa bảng, đó làCode language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
1 như sau:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Câu lệnh sau đây chèn 2 hàng vào bảngCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
7:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
The following statement inserts 2 rows into the
7 table:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
Trước khi lưu dữ liệu vào cột Boolean, MySQL đã chuyển đổi nó thành 1 hoặc 0. Truy vấn sau lấy dữ liệu từ bảng
7:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
as bạn thấy,Code language: SQL [Structured Query Language] [sql]
SELECT id, title, completed FROM tasks;
2 vàCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
3 đã được chuyển đổi thành 1 và 0.Code language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
As you see, the
2 andCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
3 were converted to 1 and 0.Code language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
Vì Boolean là
1, bạn có thể chèn giá trị khác với 1 và 0 vào cột Boolean. Xem xét ví dụ sau:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Test Boolean with a number',2];
Nó đang hoạt động tốt.
Nếu bạn muốn xuất kết quả là
2 vàCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
3, bạn có thể sử dụng chức năngCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
7 như sau:
DESCRIBE tasks;
Code language: SQL [Structured Query Language] [sql]
MysQL Các nhà khai thác booleanCode language: SQL [Structured Query Language] [sql]
SELECT id, title, IF[completed, 'true', 'false'] completed FROM tasks;
MySQL BOOLEAN operators
Để có được tất cả các nhiệm vụ đã hoàn thành trong bảng
7, bạn có thể đưa ra truy vấn sau:Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
as bạn thấy, nó chỉ trả lại nhiệm vụ với giá trịCode language: SQL [Structured Query Language] [sql]
SELECT id, title, completed FROM tasks WHERE completed = TRUE;
9 1. Để sửa nó, bạn phải sử dụng toán tửCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
0:Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
As you see, it only returned the task with
9 value 1. To fix it, you must useCode language: SQL [Structured Query Language] [sql]
DESCRIBE tasks;
0 operator:Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
mysql> SELECT TRUE, true, FALSE, false;
-> 1, 1, 0, 0
0 Trong ví dụ này, chúng tôi đã sử dụng toán tử 0 để kiểm tra giá trị theo giá trị boolean.Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
In this example, we used the
0 operator to test a value against a Boolean value.Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
Để có được các tác vụ đang chờ xử lý, bạn sử dụng
2 hoặcCode language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
3 như sau:Code language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
mysql> SELECT TRUE, true, FALSE, false;
-> 1, 1, 0, 0
1 Trong hướng dẫn này, bạn đã học được cách sử dụng kiểu dữ liệu 4, là từ đồng nghĩa củaCode language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
1 và cách thao tác các giá trị boolean.Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
In this tutorial, you have learned how to use the
4 data type, which is the synonym ofCode language: SQL [Structured Query Language] [sql]
INSERT INTO tasks[title,completed] VALUES['Master MySQL Boolean type',true], ['Design database table',false];
1, and how to manipulate Boolean values.Code language: SQL [Structured Query Language] [sql]
CREATE TABLE tasks [ id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR[255] NOT NULL, completed BOOLEAN ];
Hướng dẫn này có hữu ích không?