Giới thiệu về SQL Default
Cấu trúc dữ liệu là một phần quan trọng trong việc xây dựng và quản lý cơ sở dữ liệu. Trong SQL, các cột của bảng có thể có giá trị mặc định được chỉ định. Điều này có nghĩa là nếu không có giá trị nào được cung cấp khi một bản ghi mới được chèn vào bảng, giá trị mặc định sẽ được sử dụng. Tính năng này hữu ích để đảm bảo rằng không có giá trị null trong các cột mà bạn muốn có một giá trị cụ thể ngay cả khi không có dữ liệu được cung cấp.
Định nghĩa
Trong SQL, "DEFAULT" là một từ khóa được sử dụng để chỉ định giá trị mà sẽ được tự động sử dụng cho một cột nếu không có giá trị nào được cung cấp khi chèn một bản ghi mới. Nó giúp duy trì tính toàn vẹn và nhất quán của dữ liệu.
Cú pháp
Cú pháp để sử dụng DEFAULT khi tạo bảng là như sau:
CREATE TABLE ten_bang ( ten_cot1 datatype DEFAULT gia_tri_mac_dinh, ten_cot2 datatype, ... );
Bạn cũng có thể thêm giá trị mặc định cho một cột trong một bảng đã tồn tại bằng cách sử dụng câu lệnh ALTER TABLE:
ALTER TABLE ten_bang ADD ten_cot datatype DEFAULT gia_tri_mac_dinh;
Ví dụ
1. Tạo bảng với giá trị mặc định
CREATE TABLE nhan_vien ( id INT PRIMARY KEY, ten NVARCHAR(100) NOT NULL, trang_thai NVARCHAR(10) DEFAULT 'Hoạt động' );
Trong ví dụ này, cột "trang_thai" sẽ có giá trị mặc định là 'Hoạt động' nếu không có giá trị nào được cung cấp khi chèn bản ghi mới.
2. Chèn bản ghi không cung cấp giá trị cho cột có giá trị mặc định
INSERT INTO nhan_vien (id, ten) VALUES (1, 'Nguyễn Văn A'); INSERT INTO nhan_vien (id, ten, trang_thai) VALUES (2, 'Trần Thị B', 'Không hoạt động');
Trong câu lệnh đầu tiên, giá trị 'Hoạt động' sẽ được tự động gán cho cột "trang_thai" vì không có giá trị nào được cung cấp.
3. Thay đổi giá trị mặc định của cột
ALTER TABLE nhan_vien ALTER COLUMN trang_thai SET DEFAULT 'Ngừng hoạt động';
Sau câu lệnh này, bất kỳ bản ghi mới nào được chèn mà không có giá trị cho cột "trang_thai" sẽ tự động lấy giá trị 'Ngừng hoạt động'.
Kết luận
Thêm giá trị mặc định cho các cột trong SQL giúp cải thiện chất lượng dữ liệu và đảm bảo rằng các bản ghi mới đều có giá trị có nghĩa. Tính năng này rất quan trọng trong việc quản lý cơ sở dữ liệu hiệu quả, giúp giảm thiểu số lượng giá trị NULL và duy trì tính toàn vẹn của dữ liệu.