多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

sqlite教程

SQLite 約束

閱讀 (2171)

SQLite 約束

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

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

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

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

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

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

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

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

NOT NULL 約束

默認情況下,列可以保存 NULL 值。如果您不想某列有 NULL 值,那么需要在該列上定義此約束,指定在該列上不允許 NULL 值。

NULL 與沒有數據是不一樣的,它代表著未知的數據。

實例

例如,下面的 SQLite 語句創建一個新的表 COMPANY,并增加了五列,其中 ID、NAME 和 AGE 三列指定不接受 NULL 值:

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

DEFAULT 約束

DEFAULT 約束在 INSERT INTO 語句沒有提供一個特定的值時,為列提供一個默認值。

實例

例如,下面的 SQLite 語句創建一個新的表 COMPANY,并增加了五列。在這里,SALARY 列默認設置為 5000.00。所以當 INSERT INTO 語句沒有為該列提供值時,該列將被設置為 5000.00。

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL    DEFAULT 50000.00
);

UNIQUE 約束

UNIQUE 約束防止在一個特定的列存在兩個記錄具有相同的值。在 COMPANY 表中,例如,您可能要防止兩個或兩個以上的人具有相同的年齡。

實例

例如,下面的 SQLite 語句創建一個新的表 COMPANY,并增加了五列。在這里,AGE 列設置為 UNIQUE,所以不能有兩個相同年齡的記錄:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL UNIQUE,
   ADDRESS        CHAR(50),
   SALARY         REAL    DEFAULT 50000.00
);

PRIMARY KEY 約束

PRIMARY KEY 約束唯一標識數據庫表中的每個記錄。在一個表中可以有多個 UNIQUE 列,但只能有一個主鍵。在設計數據庫表時,主鍵是很重要的。主鍵是唯一的 ID。

我們使用主鍵來引用表中的行。可通過把主鍵設置為其他表的外鍵,來創建表之間的關系。由于"長期存在編碼監督",在 SQLite 中,主鍵可以是 NULL,這是與其他數據庫不同的地方。

主鍵是表中的一個字段,唯一標識數據庫表中的各行/記錄。主鍵必須包含唯一值。主鍵列不能有 NULL 值。

一個表只能有一個主鍵,它可以由一個或多個字段組成。當多個字段作為主鍵,它們被稱為復合鍵

如果一個表在任何字段上定義了一個主鍵,那么在這些字段上不能有兩個記錄具有相同的值。

實例

已經看到了我們創建以 ID 作為主鍵的 COMAPNY 表的各種實例:

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

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 命令允許用戶重命名表,或向現有表添加一個新的列。重命名列,刪除一列,或從一個表中添加或刪除約束都是不可能的。

關閉
程序員人生
主站蜘蛛池模板: 欧美久久超级碰碰碰二区三区 | 欧美一级免费 | 青青自拍视频一区二区三区 | 激情粉嫩精品国产尤物 | 中文字幕亚洲一区二区三区 | 久久99久久99精品免观看麻豆 | 亚洲男人天堂久久 | 国产成人午夜91精品麻豆剧场 | 国产毛片毛片精品天天看 | 91久久综合九色综合欧美亚洲 | 亚洲精品一区二区三区在 | 日韩欧美一及在线播放 | wwwwwww色| 在线观看国内自拍 | 最近最新高清中文字幕6页 最近最新免费中文字幕8 | 美国一级毛片片aa成人 | 最近中文字幕mv免费看 | 午夜大片免费男女爽爽影院久久 | 亚洲jizzjizz妇女 | 精品视频在线观看 | 亚洲精品久久久久久久久久久网站 | 国产狂喷白浆在线观看视频 | 欧美日韩国产欧美 | 一区二区网站 | 美国特级成人毛片 | 最近中文字幕高清免费大全8 | 国产成人精品一区二区三区 | 图片区另类小说 | v天堂网 | 日韩欧美专区 | www.黄免费| 国产性一交一乱一伦一色一情 | 一本一道久久综合狠狠老 | 素人259luxu在线观看暴露 | 免费的爱爱视频 | 在线播放www | 美国福利片 | 亚洲国产欧美在线人成精品一区二区 | 免费看w片的网站在线看 | 波多野结衣资源在线观看 | 亚洲成年人免费网站 |