Mysql không trống

- Khi chúng ta chèn một hàng mới vào bên trong cái bảng, nếu chúng ta không xác định đầy đủ giá trị cho tất cả các cột thì mặc định những cột bị bỏ trống sẽ nhận giá trị NULL

- Tôi có một bảng SinhVien & một câu lệnh như bên dưới

MSSVHoTenNamSinhGioiTinhThanhPho
INSERT INTO SinhVien [MSSV, GioiTinh, ThanhPho] VALUES [1, "", "Cần Thơ"];

- Sau khi tôi thực hiện câu lệnh INSERT INTO phía trên thì cái bảng SinhVien sẽ trở thành

MSSVHoTenNamSinhGioiTinhThanhPho1NULLNULLCần Thơ

- Lưu ý. Giá trị NULL có nghĩa là không có dữ liệu gì cả, nó hoàn toàn khác nên với một chuỗi rỗng [chuỗi cũng trống là một giá trị, điển hình như trong bảng SinhVien nằm ở ví dụ phía trên, sinh viên được tôi

2] Chức năng của ràng buộc NOT NULL

- Ràng buộc NOT NULL dùng để thiết lập việc một cột không được phép chấp nhận giá trị NULL, tức là chúng ta không thể thêm hoặc cập nhật một hàng nếu không gán giá trị [hoặc gán giá trị là NULL] cho cột này

- Sử dụng bảng mã bên dưới để tạo một bảng SinhVien. Trong đó, MSSV & GioiSinh hai cột bị ràng buộc buộc NOT NULL, điều đó đồng nghĩa với việc hai cột này không thể chứa giá trị NULL

CREATE TABLE SinhVien[
	MSSV INT NOT NULL,
	HoTen VARCHAR[255],
	NamSinh YEAR,
	GioiTinh VARCHAR[10] NOT NULL
];

3] Thêm ràng buộc NOT NULL khi bảng đã được tạo

- Đối với bảng trường hợp đã được tạo trước đó, nhưng do quên thiết lập bắt buộc NOT NULL cho cột nên bây giờ các bạn muốn bổ sung, để làm được điều đó thì chúng ta sử dụng lệnh chỉnh sửa bảng như bên dưới

ALTER TABLE table_name MODIFY column_name DATA TYPE NOT NULL;

- Ví dụ, để bổ sung ràng buộc NOT NULL cho cột HoTen [trong bảng SinhVien] thì tôi sử dụng câu lệnh bên dưới

ALTER TABLE SinhVien MODIFY HoTen VARCHAR[255] NOT NULL;

4] Xóa ràng buộc NOT NULL

- Để xóa ràng buộc NOT NULL trên cột, chúng ta sử dụng lệnh chỉnh sửa bảng như bên dưới

ALTER TABLE table_name MODIFY column_name DATA TYPE;

- Ví dụ, để xóa ràng buộc NOT NULL trên cột HoTen [trong bảng SinhVien] thì tôi sử dụng câu lệnh bên dưới

Nếu một trường trong bảng là tùy chọn, có thể thêm một bản ghi mới hoặc cập nhật bản ghi mà không cần thêm giá trị vào trường này. Sau đó, trường sẽ được lưu với giá trị null

Lưu ý. Giá trị null khác với giá trị 0 hoặc trường chứa khoảng trắng. Một trường có giá trị null là một trường bị bỏ trống trong quá trình tạo kỷ lục. Giá trị NULL khác với giá trị 0 hoặc trường chứa dấu cách. Trường có giá trị NULL là trường đã bị bỏ trống trong quá trình tạo bản ghi

Làm thế nào để kiểm tra các giá trị null?

Không thể kiểm tra các giá trị null với các thuật toán so sánh, giả định như =,,

Thay vào đó, chúng tôi sẽ phải sử dụng các toán tử

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
1 và______52

Cú pháp null

Chọn cột_namestừ tên_bảng trong khi cột_name đó là null;
TỪ_tên_bảng
WHERE cột_name LÀ NULL;

Không phải là cú pháp null

Chọn cột_namestừ tên_bảng trong cột_name đó không được null;
TỪ_tên_bảng
WHERE cột_name KHÔNG PHẢI NULL;

Demo database

Dưới đây là một lựa chọn được lựa chọn từ bảng "Khách hàng" trong cơ sở dữ liệu mẫu Northwind

ID khách hàngTên khách hàngTên liên lạcĐịa chỉ nhàThành phốMã bưu điệnQuốc gia1Alfreds FutterkisteMaria AndersObere str. 57Berlin12209nước Đức2Ana Trujillo Emparedados Y HeladosAna TrujilloAvda. de la constitución 2222Mexico D. F. 05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D. F. 05023Mexico4Antonio Moreno TaqueríaAntonio MorenoMataderos 2312Xung quanh sừngThomas Hardy120 Hanover sq. 5LondonWA1 1DPVương quốc AnhBerglunds SnabbköpChristina BerglundBerguvsvägen 8

Luleå

S-958 22

Thụy Điển

null toán tử là

Toán tử

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
1 được sử dụng để kiểm tra các giá trị trống [giá trị null].
TỪ Khách hàng
Ở ĐÂU Địa chỉ LÀ NULL;

SQL sau đây liệt kê tất cả các khách hàng có giá trị null trong trường "Địa chỉ"

Thí dụ Luôn sử dụng IS NULL để tìm giá trị NULL

Select Custom, ContactName, Địa chỉ Địa chỉ Địa chỉ là NULL;

Please tự mình thử »

mẹo. Luôn luôn sử dụng null để tìm kiếm các giá trị null

null toán tử là

Toán tử

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
1 được sử dụng để kiểm tra các giá trị trống [giá trị null].
TỪ Khách hàng
WHERE Address IS NOT NULL;

SQL sau đây liệt kê tất cả các khách hàng có giá trị null trong trường "Địa chỉ"



Trong SQL NULL vừa là một giá trị cũng như từ khóa. Trước tiên, hãy nhìn vào giá trị null -

Null as a value

Nói một cách đơn giản, NULL chỉ đơn giản là một người giữ vị trí cho dữ liệu không tồn tại. Khi thực hiện các hoạt động được chèn vào các bảng, chúng sẽ là những lúc một số giá trị trường sẽ không khả dụng

Để đáp ứng các yêu cầu của các hệ thống quản lý cơ sở dữ liệu quan hệ thực tế, MySQL sử dụng NULL làm người giữ vị trí cho các giá trị chưa được gửi. Ảnh chụp màn hình dưới đây để xem các giá trị null trông như thế nào trong cơ sở dữ liệu

Bây giờ, hãy nhìn vào một số điều cơ bản cho NULL trước khi chúng ta đi sâu vào cuộc thảo luận

  • NULL không phải là một loại dữ liệu - điều này có nghĩa là nó không được công nhận là một Int Int, date, hoặc bất kỳ loại dữ liệu nào được xác định khác. – điều này có nghĩa là nó không được nhận dạng dưới dạng “int”, “date” hoặc bất kỳ loại dữ liệu được xác định nào khác
  • Các hoạt động số học liên quan đến null luôn trả lại null chẳng hạn, 69 + null = null. liên quan đến NULL luôn trả về NULL ví dụ: 69 + NULL = NULL
  • Tất cả các hàm tổng hợp chỉ có các hàng không có giá trị null. các hàm tổng hợp chỉ ảnh hưởng đến các hàng không có giá trị NULL

Bây giờ, hãy trình bày cách thức chức năng đếm xử lý các giá trị null. Please to view the current content at of the member table-

SELECT * FROM `members`;

Thực hiện lệnh tập tin cho chúng ta kết quả sau

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me

Hãy đếm tất cả các thành viên đã cập nhật contact_number của họ

CREATE TABLE SinhVien[
	MSSV INT NOT NULL,
	HoTen VARCHAR[255],
	NamSinh YEAR,
	GioiTinh VARCHAR[10] NOT NULL
];
1

Thực hiện truy vấn trên kết quả của chúng tôi sau

CREATE TABLE SinhVien[
	MSSV INT NOT NULL,
	HoTen VARCHAR[255],
	NamSinh YEAR,
	GioiTinh VARCHAR[10] NOT NULL
];
2

Lưu ý. các giá trị không được đưa vào

Cái gì không?

Toán tử không logic được sử dụng để kiểm tra các điều kiện boolean và trả về đúng nếu điều kiện sai. Vận hành người không trả lại sai nếu điều kiện được kiểm tra là đúng

Tình trạng không phải là kết quả của vận hành

ĐÚNG VẬY

Sài

Sài

ĐÚNG VẬY

Sài

Tại sao không sử dụng NULL?

Sẽ có những trường hợp khi chúng ta sẽ phải thực hiện tính toán trên kết quả truy vấn của tập tin và trả lại các giá trị. Thực hiện bất kỳ hoạt động học số nào trên các cột có giá trị null trả về kết quả null. Để tránh những vấn đề như vậy xảy ra, chúng ta có thể sử dụng mệnh đề Not Null để hạn chế kết quả mà dữ liệu của chúng ta hoạt động

Not value null

Xin giả sử rằng chúng tôi muốn tạo một bảng với các trường nhất định luôn luôn được cung cấp với các giá trị khi thêm các hàng mới vào bảng. Chúng ta có thể sử dụng mệnh đề Not Null trên một trường đã cho khi tạo bảng

CREATE TABLE SinhVien[
	MSSV INT NOT NULL,
	HoTen VARCHAR[255],
	NamSinh YEAR,
	GioiTinh VARCHAR[10] NOT NULL
];
3

Ví dụ được hiển thị bên dưới việc tạo ra một bảng mới chứa dữ liệu của nhân viên. Số nhân viên phải luôn được cung cấp

CREATE TABLE SinhVien[
	MSSV INT NOT NULL,
	HoTen VARCHAR[255],
	NamSinh YEAR,
	GioiTinh VARCHAR[10] NOT NULL
];
4

Bây giờ, hãy thử chèn một bản ghi mới mà không cần chỉ định tên nhân viên và xem điều gì sẽ xảy ra

Việc thực thi tập lệnh trên MySQL Workbench do error after-

Từ khóa null

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
0

NULL cũng có thể được sử dụng làm từ khóa khi thực hiện các hoạt động boolean trên các giá trị bao gồm NULL. Từ khóa là/không phải là từ khóa được sử dụng tương tự với từ null cho các mục đích đó. Cú pháp cơ bản khi null được sử dụng làm từ khóa như sau

  • NƠI phủ là từ khóa thực hiện phép so sánh Boolean. Nó trả về true nếu giá trị được cung cấp là NULL và sai nếu giá trị được cung cấp không phải là NULL
  • Đây là từ khóa thực hiện so sánh Boolean. Nó trả về đúng nếu giá trị được cung cấp là null và sai nếu giá trị được cung cấp không phải là null. là từ khóa thực hiện so sánh Boolean. Nó trả về true nếu giá trị được cung cấp không phải là NULL và sai nếu giá trị được cung cấp là null

Không phải Null Null là từ khóa thực hiện so sánh Boolean. Nó trả về đúng nếu giá trị được cung cấp không phải là null và sai nếu giá trị được cung cấp là null

Bây giờ, hãy xem xét một ví dụ thực tế sử dụng từ khóa không null để loại bỏ tất cả các cột giá trị có giá trị null

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
1

Tiếp tục với ví dụ trên, giả sử chúng ta cần chi tiết về các thành viên có số liên lạc không phải là NULL. Chúng tôi có thể thực hiện một truy vấn như

Thực hiện truy vấn trên chỉ cung cấp các bản ghi trong đó số liên hệ không phải là null

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
2

Giả sử chúng tôi muốn lập hồ sơ thành viên trong đó số liên lạc là null. Chúng tôi có thể sử dụng truy vấn sau

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
3

Thực hiện truy vấn trên cung cấp chi tiết thành viên có số liên lạc là null

So sánh các giá trị null – thực hiện các phép toán Boolean với các điều kiện liên quan đến NULL có thể trả về “Không xác định”, “Đúng” hoặc “Sai”

Logic ba value-thực hiện các hoạt động boolean trên các điều kiện liên quan đến NULL có thể trả về không rõ ràng, không rõ ràng, hoặc sử dụng từ khóa “IS NULL” khi thực hiện các phép toán so sánh liên quan đến NULL có thể trả về true hoặc false. Sử dụng các toán tử so sánh khác trả về “Không xác định”[NULL]

Giả sử bạn so sánh số năm với 5

Kết quả truy vấn là 1 có nghĩa là đúng

 membership_ numberfull_ namesgenderdate_of_ birthphysical_ addresspostal_ addresscontact_ numberemail
 1Janet JonesFemale21-07-1980First Street Plot No 4Private Bag0759 253 542
 2Janet Smith JonesFemale23-06-1980Melrose 123NULLNULL
 3Robert PhilMale12-07-19893rd Street 34NULL12345
 4Gloria WilliamsFemale14-02-19842nd Street 23NULLNULLNULL
 5Leonard HofstadterMaleNULLWoodcrestNULL845738767NULL
 6Sheldon CooperMaleNULLWoodcrestNULL976736763NULL
 7Rajesh KoothrappaliMaleNULLWoodcrestNULL938867763NULL
 8Leslie WinkleMale14-02-1984WoodcrestNULL987636553NULL
 9Howard WolowitzMale24-08-1981SouthParkP.O. Box 4563987786553lwolowitz[at]email.me
0

Please make the same activity with NULL

Hãy nhìn vào một ví dụ khác

Kết quả truy vấn là 0 có nghĩa là sai

Vui lòng xem xét cùng một ví dụ bằng cách sử dụng NULL

Please to use the keyword is null

Kết quả truy vấn là 0 là sai

Kết quả truy vấn là 1 là sự thật

BẢNG XÁC SUẤT

  • NULL là người giữ vị trí giá trị cho các trường tùy chọn của bảng
  • MySQL xử lý giá trị null khác với các loại dữ liệu khác. Các giá trị null khi được sử dụng trong một điều kiện đánh giá giá trị boolean giả
  • Hoạt động không logic được sử dụng để kiểm tra các giá trị boolean và đánh giá đúng nếu giá trị boolean là sai và đánh giá sai nếu giá trị boolean là đúng
  • Mệnh đề không null được sử dụng để loại bỏ các giá trị null khỏi kết quả của tập tin
  • Thực hiện các hoạt động học số trên các giá trị null luôn trả về kết quả null
  • Các toán tử so sánh như [, =, v. v. ] could not be used to so sánh các giá trị null

Không phải là null trong mysql?

Biên giới không null thực thi một cột để không chấp nhận các giá trị null. Điều này thực thi một trường luôn chứa một giá trị, điều đó có nghĩa là bạn không thể thêm một bản ghi mới hoặc cập nhật bản ghi mà không cần thêm giá trị vào trường này. bắt buộc cột KHÔNG chấp nhận giá trị NULL . Điều này buộc một trường phải luôn chứa một giá trị, nghĩa là bạn không thể chèn bản ghi mới hoặc cập nhật bản ghi mà không thêm giá trị vào trường này.

Sự khác biệt giữa là null và không phải là null là gì?

Điều kiện null được thỏa mãn nếu cột chứa giá trị null hoặc nếu biểu thức không thể đánh giá vì nó chứa một hoặc nhiều giá trị null. Nếu bạn sử dụng toán tử không phải là null, điều kiện được thỏa mãn khi toán hạng là cột giá trị không phải là null hoặc một biểu thức không đánh giá thành NULL

Là ví dụ null trong mysql?

Chúng ta hãy xem một ví dụ về cách sử dụng mysql là null trong một câu lệnh Select. Chọn * từ các liên hệ trong đó last_name là null;MYSQL ví dụ NULL sẽ trả về tất cả các bản ghi từ bảng Danh bạ trong đó Last_Name chứa giá trị null. CHỌN * TỪ danh bạ WHERE last_name IS NULL; Ví dụ MySQL IS NULL này sẽ trả về tất cả các bản ghi từ bảng danh bạ nơi last_name chứa giá trị NULL.

Chức năng NULL trong MySQL có phải không?

Hàm isnull [] return 1 hoặc 0 tùy thuộc vào công việc biểu thức là null. Nếu biểu thức là null, hàm này trả về 1. If not, it will return 0

Chủ Đề