zoukankan      html  css  js  c++  java
  • SQLite进阶-10.约束

    约束

    约束是作用于数据表中列上的规则,用于限制表中数据的类型。约束的存在保证了数据库中数据的精确性和可靠性。
    约束可以是列级或表级,列级约束作用于单一的列,而表级约束作用于整张数据表。

    SQLite中常见的约束:

    • NOT NULL 约束:确保某列不能有NULL值。
    • DEFAULT 约束:当某列没有插入值时,为该列提供默认值。
    • UNIQUE 约束:确保某列中的所有值是不同的。
    • PRIMARY KEY 约束:唯一标识数据库表中的数据。
    • FOREIGN KEY 约束:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
    • CHECK 约束:确保某列中的所有值满足一定条件。

    NOT NULL 约束

    默认情况下,列可以保存 NULL 值。如果您不想某列有 NULL 值,那么需要在该列上定义此约束,指定在该列上不允许 NULL 值。

    NULL 与没有数据是不一样的,它代表着未知的数据。

    -- 实例
    CREATE TABLE link_men (
        ID INT PRIMARY KEY      NOT NULL;
        NAME           TEXT     NOT NULL
    )
    
    

    DEFAULT 约束

    DEFAULT 约束在 INSERT INTO 语句没有提供一个特定的值时,为列提供一个默认值。

    -- 实例
    CREATE TABLE link_men(
        ID INT PRIMARY KEY      NOT NULL;
        NAME           TEXT     NOT NULL;
        ADDRESS        TEXT     NOT NULL;
        SALARY         REAL     DEFAULT 8000.00
    )
    

    UNIQUE 约束

    UNIQUE 约束防止在一个特定的列存在两个记录具有相同的值。

    -- 实例
    CREATE TABLE link_men(
        ID INT PRIMARY KEY      NOT NULL;
        NAME           TEXT     NOT NULL;
        AGE            INT      NOT NULL UNIQUE;
        ADDRESS        TEXT;
        SALARY        REAL DEFAULT 8000.00
    )
    
    

    PRIMAY KEY 约束

    PRIMARY KEY 约束唯一标识数据库表中的每条记录。
    主键必须包含唯一的值。
    主键列不能包含 NULL 值。
    每个表都应该有一个主键,并且每个表只能有一个主键。

    -- 实例
    CREATE TABLE link_men(
        ID INT PRIMARY KEY      NOT NULL;
        NAME           TEXT     NOT NULL;
        AGE            INT      NOT NULL UNIQUE;
        ADDRESS        TEXT;
        SALARY       , REAL DEFAULT 8000.00
    )
    
    

    FOREIGN KEY 约束

    一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

    -- 实例
    CREATE TABLE link_men (
        ID INT PRIMARY KEY     NOT NULL;
        NAME           TEXT    NOT NULL;
        AGE            INT     NOT NULL UNIQUE;
        ADDRESS        TEXT;
        SALARY         REAL DEFAULT 8000.00;
        FOREIGN KEY (P_ID) REFERENCES persons(P_ID);
    )
    

    CHECK 约束

    CHECK 约束启用输入一条记录要检查值的条件。如果条件值为 false,则记录违反了约束,且不能输入到表。

    CREATE TABLE link_men(
       ID INT PRIMARY KEY     NOT NULL,
       NAME           TEXT    NOT NULL,
       AGE            INT     NOT NULL,
       ADDRESS        TEXT,
       SALARY         REAL    CHECK(SALARY > 0)
    );
    
  • 相关阅读:
    CMS前世今生
    叫练手把手教你读JVM之GC信息
    原来我还有网络天赋
    最简单的JVM内存结构图
    图解CyclicBarrier运动员接力赛
    图解定时任务线程池
    并发队列:ArrayBlockingQueue实际运用场景和原理
    ReentrantReadWriteLock读写锁简单原理案例证明
    JavaScript中的Function类型浅析
    JS数组整理
  • 原文地址:https://www.cnblogs.com/haitao130v/p/11334389.html
Copyright © 2011-2022 走看看