1. 程式人生 > >SQLite3約束介紹

SQLite3約束介紹

SQLite 約束

約束是在表的資料列上強制執行的規則。這些是用來限制可以插入到表中的資料型別。這確保了資料庫中資料的準確性和可靠性。

約束可以是列級或表級。列級約束僅適用於列,表級約束被應用到整個表。

以下是在 SQLite 中常用的約束。

  • NOT NULL 約束:確保某列不能有 NULL 值。

  • DEFAULT 約束:當某列沒有指定值時,為該列提供預設值。

  • UNIQUE 約束:確保某列中的所有值是不同的。

  • PRIMARY Key 約束:唯一標識資料庫表中的各行/記錄。

  • CHECK 約束:CHECK 約束確保某列中的所有值滿足一定條件。

CHECK 約束

CHECK 約束啟用輸入一條記錄要檢查值的條件。如果條件值為 false,則記錄違反了約束,且不能輸入到表。

例項

例如,下面的 SQLite 建立一個新的表 COMPANY,並增加了五列。在這裡,我們為 SALARY 列新增 CHECK,所以工資不能為零:

CREATE TABLE COMPANY3(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL CHECK(SALARY > 0) );

刪除約束

SQLite 支援 ALTER TABLE 的有限子集。在 SQLite 中,ALTER TABLE 命令允許使用者重命名錶,或向現有表新增一個新的列。重新命名列,刪除一列,或從一個表中新增或刪除約束都是不可能的。