cuốn sách gpt4 ai đã làm

12. Ràng buộc SQLite

In lại Tác giả: Đường đến ông chủ Thời gian cập nhật: 2024-01-07 13:06:10 29 4
mua khóa gpt4 Nike

Ràng buộc SQLite

Ràng buộc là các quy tắc được thực thi trên các cột dữ liệu của bảng. Chúng được sử dụng để giới hạn các loại dữ liệu có thể được chèn vào bảng. Điều này đảm bảo tính chính xác và độ tin cậy của dữ liệu trong cơ sở dữ liệu.

Các ràng buộc có thể ở cấp độ cột hoặc cấp độ bảng. Ràng buộc cấp độ cột chỉ áp dụng cho các cột, ràng buộc cấp độ bảng áp dụng cho toàn bộ bảng.

Sau đây là các ràng buộc thường được sử dụng trong SQLite.

  • Ràng buộc KHÔNG NULL: Đảm bảo rằng một cột không thể có giá trị NULL.
  • Ràng buộc MẶC ĐỊNH: Cung cấp giá trị mặc định cho một cột khi không có giá trị nào được chỉ định.
  • ràng buộc ĐỘC ĐÁO: Đảm bảo rằng tất cả các giá trị trong một cột là khác biệt.
  • Ràng buộc khóa CHÍNH: Xác định duy nhất từng hàng/bản ghi trong bảng cơ sở dữ liệu.
  • KIỂM TRA các ràng buộcRàng buộc :CHECK đảm bảo rằng tất cả các giá trị trong một cột đều đáp ứng các điều kiện nhất định.

Ràng buộc KHÔNG NULL

Theo mặc định, các cột có thể chứa giá trị NULL. Nếu không muốn một cột có giá trị NULL, bạn cần xác định ràng buộc này trên cột, chỉ định rằng các giá trị NULL không được phép trên cột.

NULL khác với không có dữ liệu, nó đại diện cho dữ liệu chưa biết.

Ví dụ

Ví dụ: câu lệnh SQLite sau đây tạo một bảng mới CÔNG TY và thêm năm cột. Các cột ID, NAME và AGE chỉ định rằng các giá trị NULL không được chấp nhận:

TẠO BẢNG CÔNG TY( ID INT PRIMARY KEY KHÔNG NULL, TÊN VĂN BẢN KHÔNG NULL, TUỔI INT KHÔNG NULL, ĐỊA CHỈ CHAR(50), LƯƠNG THỰC );

Ràng buộc MẶC ĐỊNH

Ràng buộc DEFAULT cung cấp giá trị mặc định cho một cột khi câu lệnh INSERT INTO không cung cấp giá trị cụ thể.

Ví dụ

Ví dụ: câu lệnh SQLite sau đây tạo một bảng mới COMPANY và thêm năm cột. Ở đây, cột LƯƠNG được đặt thành 5000,00 theo mặc định. Vì vậy, khi câu lệnh INSERT INTO không cung cấp giá trị cho cột thì cột sẽ được đặt thành 5000,00.

TẠO BẢNG CÔNG TY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ĐỊA CHỈ (50), LƯƠNG THỰC MẶC ĐỊNH 5000,00);

ràng buộc ĐỘC ĐÁO

Ràng buộc UNIQUE ngăn hai bản ghi có cùng giá trị cho một cột cụ thể. Ví dụ: trong bảng CÔNG TY, bạn có thể muốn ngăn không cho hai hoặc nhiều người có cùng độ tuổi.

Ví dụ

Ví dụ: câu lệnh SQLite sau đây tạo một bảng mới COMPANY và thêm năm cột. Ở đây, cột AGE được đặt thành UNIQUE, do đó không thể có hai bản ghi có cùng độ tuổi:

TẠO BẢNG CÔNG TY (ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL UNIQUE, ĐỊA CHỈ (50), LƯƠNG THỰC MẶC ĐỊNH 5000,00);

Ràng buộc PRIMARY KEY

Ràng buộc PRIMARY KEY xác định duy nhất từng bản ghi trong bảng cơ sở dữ liệu. Có thể có nhiều cột ĐỘC ĐÁO trong một bảng nhưng chỉ có thể có một khóa chính. Khóa chính rất quan trọng khi thiết kế bảng cơ sở dữ liệu. Khóa chính là ID duy nhất.

Chúng tôi sử dụng khóa chính để tham chiếu các hàng trong bảng. Mối quan hệ giữa các bảng có thể được tạo bằng cách đặt khóa chính thành khóa ngoại trong bảng khác. Do "giám sát mã hóa lâu dài", trong SQLite, khóa chính có thể là NULL, khác với các cơ sở dữ liệu khác.

Khóa chính là một trường trong bảng xác định duy nhất từng hàng/bản ghi trong bảng cơ sở dữ liệu. Khóa chính phải chứa các giá trị duy nhất. Các cột khóa chính không thể có giá trị NULL.

Một bảng chỉ có thể có một khóa chính, có thể bao gồm một hoặc nhiều trường. Khi nhiều trường đóng vai trò là khóa chính, chúng được gọiphím tổng hợp.

Nếu một bảng có khóa chính được xác định trên bất kỳ trường nào thì không có hai bản ghi nào có thể có cùng giá trị trên các trường đó.

Ví dụ

Chúng tôi đã thấy nhiều trường hợp khác nhau trong đó chúng tôi tạo bảng COMAPNY với ID làm khóa chính:

TẠO BẢNG CÔNG TY( ID INT PRIMARY KEY KHÔNG NULL, TÊN VĂN BẢN KHÔNG NULL, TUỔI INT KHÔNG NULL, ĐỊA CHỈ CHAR(50), LƯƠNG THỰC );

KIỂM TRA các ràng buộc

Ràng buộc CHECK cho phép nhập điều kiện để bản ghi được kiểm tra giá trị. Nếu giá trị điều kiện là sai, bản ghi vi phạm ràng buộc và không thể nhập vào bảng.

Ví dụ

Ví dụ: SQLite sau đây tạo một bảng mới CÔNG TY và thêm năm cột. Ở đây ta thêm CHECK vào cột SALARY nên lương không thể bằng 0:

TẠO BẢNG CÔNG TY3( ID INT PRIMARY KEY KHÔNG NULL, TÊN VĂN BẢN KHÔNG NULL, TUỔI INT KHÔNG NULL, ĐỊA CHỈ CHAR(50), LƯƠNG THỰC KIỂM TRA(LƯƠNG > 0));

Xóa các ràng buộc

SQLite hỗ trợ một tập hợp con giới hạn của ALTER TABLE. Trong SQLite, lệnh ALTER TABLE cho phép người dùng đổi tên bảng hoặc thêm cột mới vào bảng hiện có. Không thể đổi tên cột, xóa cột hoặc thêm hoặc xóa các ràng buộc khỏi bảng.

29 4 0
Bài viết khuyến nghị: 27. Giải thích về SQLite
Bài viết khuyến nghị: 20. Lệnh thay đổi SQLite
Bài viết khuyến nghị: 02. Giới thiệu về SQLite
Bài viết khuyến nghị: 05. Mệnh đề SQLite Glob
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress