Sử dụng SQL DEFAULT Constraint

Ràng buộc DEFAULT (DEFAULT constraint) trong SQL được sử dụng để thiết lập giá trị mặc định cho một cột. Giá trị mặc định sẽ tự động được gán cho các bản ghi mới trong bảng nếu không có giá trị nào được cung cấp cho cột đó khi chèn dữ liệu.

default cons

Có hai cách để sử dụng ràng buộc DEFAULT:

  1. Thêm ràng buộc khi tạo bảng:
CREATE TABLE <Ten bang> (
  <Cot> <Kieu du lieu> DEFAULT <Gia tri mac dinh>,
  <Cot khac>,
);
  1. Thêm ràng buộc sau khi tạo bảng:
ALTER TABLE <Ten bang>
ALTER COLUMN <Ten cot> SET DEFAULT <Gia tri mac dinh>;

Trong đó:

  • <Ten bang>: Tên của bảng chứa cột cần ràng buộc.
  • <Ten cot>: Tên của cột cần thiết lập giá trị mặc định.
  • <Kieu du lieu>: Kiểu dữ liệu của cột.
  • <Gia tri mac dinh>: Giá trị mặc định muốn thiết lập cho cột.

Ví dụ:

CREATE TABLE Employees (
  EmployeeID INT PRIMARY KEY,
  FirstName VARCHAR(50) DEFAULT 'John',
  LastName VARCHAR(50) DEFAULT 'Doe',
  Salary INT DEFAULT 1000000,
);


Trong ví dụ này, các cột FirstName, LastName và Salary có giá trị mặc định tương ứng là ‘John’, ‘Doe’ và 1000000. Khi chèn một bản ghi mới vào bảng Employees, nếu không cung cấp giá trị cho các cột này, giá trị mặc định sẽ tự động được gán.

  1. Xoá DEFAULT Constraint:
--Mysql
ALTER TABLE Persons
ALTER City DROP DEFAULT;

--SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT;

Lưu ý:

  • Giá trị mặc định có thể là một giá trị cố định, một biểu thức hoặc một hàm SQL.
  • Nếu giá trị mặc định được đặt thành NULL, cột sẽ cho phép giá trị null.
  • Ràng buộc DEFAULT có thể được thay đổi hoặc xóa sau khi tạo.

Sử dụng ràng buộc DEFAULT mang lại một số lợi ích:

  • Giảm thiểu việc nhập dữ liệu: Người dùng không cần nhập giá trị cho các cột có giá trị mặc định.
  • Đảm bảo tính nhất quán của dữ liệu: Giá trị mặc định giúp đảm bảo rằng tất cả các bản ghi trong bảng có cùng cấu trúc dữ liệu.
  • Tăng hiệu quả: Việc sử dụng giá trị mặc định có thể giúp tăng tốc độ truy vấn dữ liệu.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA - https://www.youtube.com/@DuoDBA) tác giả của blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn muốn có người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận