LÀ NULL một chuỗi trong MySQL?

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ố 8

Sau đó, 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

  1. Chúng tôi có một bảng ________ 41 với ba cột;
  2. 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

Giá trị NULL có phải là một chuỗi không?

Chuỗi rỗng là một thể hiện của chuỗi có độ dài bằng 0, trong khi đó chuỗi rỗng không có giá trị nào cả . Một chuỗi rỗng được biểu thị là "". Đó là một chuỗi ký tự gồm 0 ký tự. Một chuỗi null được đại diện bởi null.

LÀ NULL một chuỗi trong SQL?

SQL cho phép mọi kiểu dữ liệu có giá trị NULL . Điều này không giống như một chuỗi trống hoặc một số nguyên bằng không. Nó có nghĩa là 'Không xác định'.

Là NULL hoặc chuỗi trống MySQL?

Khái niệm NULL và chuỗi rỗng thường gây nhầm lẫn vì nhiều người nghĩ NULL giống như chuỗi rỗng MySQL. Tuy nhiên, không phải như vậy . Một chuỗi rỗng là một thể hiện của chuỗi có độ dài bằng không. Tuy nhiên, một NULL không có giá trị gì cả.

NULL có phải là một varchar không?

Về cơ bản, một cột có chiều rộng thay đổi (varchar) lưu trữ một bitmap cho biết giá trị rỗng hoặc không giá trị rỗng . Nếu nó là null, thì 0 byte được phân bổ cho trường varchar và bit bị đảo lộn. Đối với các cột có chiều rộng cố định (char), toàn bộ trường vẫn được phân bổ, không có dữ liệu nào được lưu trữ trong đó.