Hướng dẫn not null in mysql - không null trong mysql
Ràng buộc NOT NULL trong MySQL1) Giá trị NULL là gì !?- 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. Show
- Tôi có một cái bảng SinhVien & một câu lệnh như bên dưới.
- Sau khi tôi thực thi câu lệnh INSERT INTO phía trên thì cái bảng SinhVien sẽ trở thành:
Cần Thơ không có dữ liệu gì cả, nó hoàn toàn khác so với một chuỗi rỗng (chuỗi rỗng cũng là một giá trị, điển hình như trong cái bảng SinhVien nằm ở ví dụ phía trên, sinh viên được tôi chèn vào có GioiTinh là một chuỗi rỗng chứ không phải là NULL) - Lưu ý: Giá trị NULL có ý nghĩa là không có dữ liệu gì cả, nó hoàn toàn khác so với một chuỗi rỗng (chuỗi rỗng cũng là một giá trị, điển hình như trong cái bảng SinhVien nằm ở ví dụ phía trên, sinh viên được tôi chèn vào có GioiTinh là một chuỗi rỗng chứ không phải là NULL)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ể chèn 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.MSSV & GioiSinh bị thiết lập ràng 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.
- Đoạn mã bên dưới dùng để tạo một cái bảng SinhVien. Trong đó, hai cột MSSV & GioiSinh bị thiết lập ràng 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.3) Thêm ràng buộc NOT NULL khi bảng đã được tạo
- Đối với trường hợp bảng đã được tạo trước đó, nhưng do quên thiết lập ràng 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.
- 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.4) Xóa ràng buộc NOT NULL
- Để xóa ràng buộc NOT NULL trên cột thì chúng ta sử dụng lệnh chỉnh sửa bảng như bên dưới. Soc TrangNhận thấy: Ở câu lệnh INSERT thứ 3 (thiếu 2 tham số Gender, Age), ở câu lệnh INSERT thứ 4 (thiếu 3 tham số Full_name, Age, City). Do đó chúng nhận giá trị NULL. Đối với cột không thiết lập NOT NULL, khi INSERT dữ liệu vào bảng nếu tham số của cột đó bị bỏ trống thì những cột đó sẽ nhận giá trị NULLVí dụ CÓ sử dụng NOT NULL Dùng câu lệnh bên dưới để tạo bảng sinh_vien
Thêm vào bảng bốn mẫu tin Sau khi thực thi hai câu lệnh trên, chúng ta có một bản sinh_vien như sau:Ví dụ CÓ sử dụng NOT NULL
Dùng câu lệnh bên dưới để tạo bảng sinh_vien
Thêm vào bảng bốn mẫu tin
Soc Trang
Đối với cột không thiết lập NOT NULL, khi INSERT dữ liệu vào bảng nếu tham số của cột đó bị bỏ trống thì những cột đó sẽ nhận giá trị NULLVí dụ CÓ sử dụng NOT NULL
Dùng câu lệnh bên dưới để tạo bảng sinh_vien
Thêm vào bảng bốn mẫu tin
Nhận thấy: Câu lệnh 1, 2 được thực thi trước và tham số đầy đủ nên thêm thành công. Còn câu lệnh 3,4 thiếu tham số nên thêm thất bại. Lưu ýỞ một số phiên bản MySQL mới. Đối với những cột áp dụng NOT NULL mà khi INSERT bị bỏ trống, thì nó sẽ gán giá trị mặc định cho những cột đó. Ví dụ (chúng ta sử dụng lại bảng ở Ví dụ về CÓ sử dụng NOT NULL)Ví dụ về CÓ sử dụng NOT NULL) Thêm vào bảng hai mẫu tin 1Hai mẫu tin mới thêm sẽ trông như thế này
|