Không rỗng và không trống trong mysql?
Tóm lược. trong hướng dẫn này, bạn sẽ học cách làm việc với các giá trị 5 của MySQL. Ngoài ra, bạn sẽ tìm hiểu một số chức năng hữu ích để xử lý các giá trị 5 một cách hiệu quả Giới thiệu về giá trị MySQL INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)5Trong MySQL, giá trị 5 có nghĩa là không xác định. Một giá trị 5 khác 0 ( 0) hoặc một chuỗi rỗng 1 Giá trị 5 không bằng bất cứ thứ gì, kể cả chính nó. Nếu bạn so sánh một giá trị ________ 05 với một giá trị ________ 05 khác hoặc bất kỳ giá trị nào khác, kết quả sẽ là 5 vì giá trị của từng giá trị 5 không xác định Nói chung, bạn sử dụng giá trị 5 để chỉ ra rằng dữ liệu bị thiếu, không xác định hoặc không áp dụng được. Ví dụ: số điện thoại của một khách hàng tiềm năng có thể là 5 và có thể được thêm vào sau Khi tạo bảng, bạn có thể chỉ định cột có chấp nhận giá trị 5 hay không bằng cách sử dụng ràng buộc 50 Ví dụ: câu lệnh sau tạo bảng 51 7 Trong bảng 51 này, cột 53 là cột khóa chính nên không nhận bất kỳ giá trị 5 nào Các cột 55, 56 và 57 sử dụng ràng buộc 58, do đó, bạn không thể chèn bất kỳ giá trị 5 nào vào các cột này, trong khi các cột 60 và 61 chấp nhận giá trị NULL Bạn có thể sử dụng giá trị 5 trong câu lệnh 63 để xác định rằng dữ liệu bị thiếu. Ví dụ, câu lệnh sau chèn một hàng vào bảng 51. Vì số điện thoại bị thiếu nên giá trị 5 được sử dụng
Vì giá trị mặc định của cột email là 5 nên bạn có thể lược bỏ email trong câu lệnh 63 như sau
MySQL INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)68 trong câu lệnh INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)69Để đặt giá trị của một cột thành 5, bạn sử dụng toán tử gán ( 91). Ví dụ: để cập nhật số điện thoại của 92 thành 5, bạn sử dụng câu lệnh 69 sau 5 MySQL INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)95 với INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)5Nếu bạn sử dụng mệnh đề 95 để sắp xếp tập kết quả theo thứ tự tăng dần, MySQL coi các giá trị 5 thấp hơn các giá trị khác, do đó, nó hiển thị các giá trị 5 trước Câu lệnh sau sắp xếp khách hàng tiềm năng theo số điện thoại theo thứ tự tăng dần 6 Trong trường hợp bạn sử dụng 00, giá trị 5 sẽ xuất hiện ở cuối cùng của tập hợp kết quả. Xem ví dụ sau. 9 Để kiểm tra 5 trong một truy vấn, bạn sử dụng toán tử 03 hoặc 04 trong mệnh đề 05. Ví dụ để lấy lead chưa cung cấp số điện thoại bạn sử dụng toán tử 06 như sau 0 Bạn có thể sử dụng toán tử 07 để nhận tất cả khách hàng tiềm năng đã cung cấp địa chỉ email. 0 Mặc dù 5 không bằng 5 nhưng hai giá trị 5 bằng nhau trong mệnh đề 01. 5 Truy vấn chỉ trả về hai hàng vì các hàng có cột email là 5 được nhóm thành một. Chỉ mục MySQL INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)5 và INSERT INTO leads(first_name,last_name,source,phone) VALUES ('Lily','Bush','Cold Calling','(408)-555-1234'), ('David','William','Web Search','(408)-888-6789');Code language: SQL (Structured Query Language) (sql)04Khi bạn sử dụng ràng buộc ĐỘC ĐÁO hoặc chỉ số ĐỘC ĐÁO trên một cột, bạn có thể chèn nhiều giá trị 5 vào cột đó. Hoàn toàn ổn vì trong trường hợp này, MySQL coi các giá trị 5 là khác biệt Hãy xác minh điểm này bằng cách tạo chỉ mục 04 cho cột 61 3 Lưu ý rằng nếu bạn sử dụng công cụ lưu trữ BDB, MySQL coi các giá trị 5 là bằng nhau, do đó bạn không thể chèn nhiều giá trị 5 vào một cột có ràng buộc duy nhất Các hàm MySQL INSERT INTO leads(first_name,last_name,source,email,phone) VALUE('John','Doe','Web Search','[email protected]',NULL);Code language: SQL (Structured Query Language) (sql)5MySQL cung cấp một số chức năng hữu ích để xử lý NULL hiệu quả. 52, 53 và 54 Hàm 52 chấp nhận hai tham số. Hàm 52 trả về đối số đầu tiên nếu nó không phải là 5, ngược lại, nó trả về đối số thứ hai Ví dụ: câu lệnh sau trả về số điện thoại nếu nó không phải là 5, ngược lại, câu lệnh sau sẽ trả về 59 thay vì 5 0 Hàm 53 chấp nhận một danh sách các đối số và trả về đối số không phải NULL đầu tiên. Ví dụ: bạn có thể sử dụng hàm 53 để hiển thị thông tin liên hệ của khách hàng tiềm năng dựa trên mức độ ưu tiên của thông tin theo thứ tự sau. điện thoại, email và N/A. 1 Hàm 54 chấp nhận hai đối số. Nếu hai đối số bằng nhau, hàm 54 trả về 5. Mặt khác, nó trả về đối số đầu tiên. Hàm 54 rất hữu ích khi bạn có cả giá trị chuỗi 5 và giá trị chuỗi trống trong một cột. Ví dụ, do nhầm lẫn, bạn chèn một hàng sau vào bảng 51 2 Điện thoại là một chuỗi rỗng thay vì 5 Nếu bạn muốn lấy thông tin liên hệ của khách hàng tiềm năng, bạn sẽ nhận được một chiếc điện thoại trống thay vì email như truy vấn sau 1 Để khắc phục, bạn dùng hàm 54 để so sánh số điện thoại với chuỗi rỗng, nếu bằng nhau thì trả về 5, ngược lại thì trả về số điện thoại. 4 Trong hướng dẫn này, bạn đã học cách làm việc với MySQL 5 và cách sử dụng một số hàm tiện dụng để xử lý 5 trong truy vấn. NULL hay rỗng trong MySQL?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. mysql> CHỌN * TỪ ColumnValueNullDemo Ở ĐÂU Tên cột LÀ NULL HOẶC Tên cột = ' '; .
Là NULL và không null trong MySQL?NULL có nghĩa là bạn không phải cung cấp giá trị cho trường. NOT NULL nghĩa là bạn phải cung cấp giá trị cho các trường . Bên ngoài JDBC, MySQL cho phép bạn bỏ qua giá trị cho cột NOT NULL nếu có DEFAULT trên cột.
KHÔNG phải là NULL trong MySQL?Ràng buộc NOT NULL 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.
Làm cách nào để kiểm tra xem một truy vấn có phải là null trong MySQL không?Đây là ví dụ về cách sử dụng điều kiện IS NOT NULL của MySQL trong câu lệnh SELECT. CHỌN * TỪ danh bạ WHERE last_name KHÔNG NULL; Ví dụ MySQL IS NOT NULL này sẽ trả về tất cả các bản ghi từ bảng danh bạ nơi last_name không chứa null . |