Trong PHP, chuỗi rỗng tương đương với giá trị NULL, nhưng trong MySQL, trường hợp này khác. e. chuỗi rỗng không bằng giá trị NULL. Để hiểu cú pháp trên, chúng ta hãy tạo một cột với ràng buộc NOT NULL trong khi bạn có thể chèn một chuỗi rỗng
Hãy để chúng tôi tạo một bảng. Truy vấn để tạo một bảng như sau -
mysql> create table EmptyStringNotNullDemo -> [ -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar[10] not null, -> PRIMARY KEY[Id] -> ]; Query OK, 0 rows affected [0.83 sec]
Bây giờ bạn có thể chèn một số bản ghi vào bảng để kiểm tra xem chuỗi rỗng có rỗng hay không null. Truy vấn để chèn bản ghi như sau -
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh chọn. Truy vấn như sau -
mysql> select *from EmptyStringNotNullDemo;
Sau đây là đầu ra -
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]
Bây giờ hãy kiểm tra xem chuỗi rỗng là NULL hay NOT NULL trong MySQL. Nếu bạn nhận được 0, điều đó có nghĩa là chuỗi rỗng không bằng NULL nếu không chuỗi rỗng là NULL. Truy vấn như sau -
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;
Sau đây là đầu ra -
+-------+---------------------+ | Name | EmptyValueIsNotNULL | +-------+---------------------+ | John | 0 | | | 0 | | Carol | 0 | | | 0 | | | 0 | | Larry | 0 | +-------+---------------------+ 6 rows in set [0.00 sec]
Bạn có thể đạt được với sự trợ giúp của biến do người dùng xác định. Cú pháp như sau -
SET @anyVariableName=” ”; UPDATE yourTableName SET yourColumnName= @anyVariableName;
Thực hiện cú pháp trên cho bảng đã cho. Truy vấn như sau để khai báo và định nghĩa một biến người dùng
Để kiểm tra xem một cột có trống hay không, chúng ta có thể sử dụng mệnh đề where với IS NULL và để trống, chúng ta có thể sử dụng điều kiện ‘ ‘ i. e. khoảng trống. Các bước cần thiết cho việc này như sau. Đầu tiên, một bảng được tạo với sự trợ giúp của lệnh tạo như sau -
mysql> CREATE table ColumnValueNullDemo -> [ -> ColumnName varchar[100] -> ]; Query OK, 0 rows affected [0.61 sec]
Một giá trị trống được chèn vào bảng bằng lệnh chèn. Điều này được đưa ra dưới đây -
________số 8Sau đó, các bản ghi của bảng được hiển thị bằng lệnh chọn. Điều này được đưa ra như sau -
mysql> SELECT * from ColumnValueNullDemo;
Sau khi thực hiện truy vấn trên, chúng ta sẽ nhận được đầu ra sau -
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]0
Để kiểm tra xem cột có giá trị null hay trống không, cú pháp như sau:
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]1
Ràng buộc IS NULL có thể được sử dụng bất cứ khi nào cột trống và ký hiệu [ ‘ ‘] được sử dụng khi có giá trị trống
Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể chèn các giá trị
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 thay cho một chuỗi trống trong MySQL/MariaDB. Đối với các ví dụ trong bài viết này, hãy giả sử rằng
- Chúng tôi có một bảng ________ 41 với ba cột;
- Chúng tôi có một biến
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]
22 [trong bất kỳ ngôn ngữ lập trình nào] có khả năng có một chuỗi rỗng làm giá trị
Chúng tôi sẽ sử dụng lược đồ xây dựng sau để xây dựng bảng của chúng tôi
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]5
Sử dụng hàm mysql> insert into EmptyStringNotNullDemo[Name] values['John'];
Query OK, 1 row affected [0.17 sec]
mysql> insert into EmptyStringNotNullDemo[Name] values[''];
Query OK, 1 row affected [0.43 sec]
mysql> insert into EmptyStringNotNullDemo[Name] values['Carol'];
Query OK, 1 row affected [0.12 sec]
mysql> insert into EmptyStringNotNullDemo[Name] values[''];
Query OK, 1 row affected [0.13 sec]
mysql> insert into EmptyStringNotNullDemo[Name] values[''];
Query OK, 1 row affected [0.16 sec]
mysql> insert into EmptyStringNotNullDemo[Name] values['Larry'];
Query OK, 1 row affected [0.14 sec]
23
Hàm
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]23 trả về
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 nếu hai biểu thức [đối với e. g.
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]26 và
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]27] bằng nhau khi so sánh. Nếu hai biểu thức không bằng nhau, biểu thức đầu tiên được trả về. Nó có cú pháp sau
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]2
Ví dụ để chèn
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 thay vì một chuỗi trống bằng cách sử dụng
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]23, chúng ta có thể làm như sau
mysql> select *from EmptyStringNotNullDemo;2
Điều này sẽ chèn
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 vào cột
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]21 khi giá trị của biến "
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]22" khớp với một chuỗi trống. Và, khi hai biểu thức không khớp nhau, giá trị của biến
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]22 sẽ được chèn vào
Sử dụng hàm mysql> select *from EmptyStringNotNullDemo;
24
Hàm
mysql> select *from EmptyStringNotNullDemo;24 trả về biểu thức đầu tiên nếu điều kiện là
mysql> select *from EmptyStringNotNullDemo;26 và biểu thức thứ hai nếu điều kiện là
mysql> select *from EmptyStringNotNullDemo;27. Nó có cú pháp sau
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]0
Chúng ta có thể chỉ cần có một điều kiện để kiểm tra xem giá trị đến từ một biến [e. g. "
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]22"] có phải là một chuỗi rỗng hay không, và theo đó trả về
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 nếu điều kiện là
mysql> select *from EmptyStringNotNullDemo;26 hoặc chính chuỗi đó nếu không. Ví dụ
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]3
Sử dụng toán tử +----+-------+
| Id | Name |
+----+-------+
| 1 | John |
| 2 | |
| 3 | Carol |
| 4 | |
| 5 | |
| 6 | Larry |
+----+-------+
6 rows in set [0.00 sec]
01
Sử dụng
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]01 có thể là một lựa chọn khác. Tuy nhiên, nó có thể không phải là sự lựa chọn tốt nhất khi bạn chỉ có một điều kiện. Cú pháp cho nó như sau
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]6
Ví dụ sau đây cho thấy cách sử dụng
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]01, chúng ta có thể chèn
mysql> select Name, Name IS NULL as EmptyValueIsNotNULL from EmptyStringNotNullDemo;0 khi "
mysql> insert into EmptyStringNotNullDemo[Name] values['John']; Query OK, 1 row affected [0.17 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.43 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Carol']; Query OK, 1 row affected [0.12 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.13 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['']; Query OK, 1 row affected [0.16 sec] mysql> insert into EmptyStringNotNullDemo[Name] values['Larry']; Query OK, 1 row affected [0.14 sec]22" trống và chèn giá trị của chính biến đó nếu không
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | | | 3 | Carol | | 4 | | | 5 | | | 6 | Larry | +----+-------+ 6 rows in set [0.00 sec]9
Hy vọng bạn tìm thấy bài viết này hữu ích. Nó được xuất bản vào ngày 04 tháng 9 năm 2020. Hãy thể hiện tình yêu và sự ủng hộ của bạn bằng cách chia sẻ bài đăng này