zoukankan      html  css  js  c++  java
  • SQLite 约束

     

    约束是在表的数据列上强制执行的规则。这些是用来限制可以插入到表中的数据类型。这确保了数据库中数据的准确性和可靠性。

    约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。

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

    • NOT NULL 约束:确保某列不能有 NULL 值。

    • DEFAULT 约束:当某列没有指定值时,为该列提供默认值。

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

    • PRIMARY Key 约束:唯一标识数据库表中的各行/记录。

    • CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件

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

    如上NOT NULL约束,创建表COMPANY,要求ID,NAME,AGE字段不能为空。

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

    如上DEFAULT约束,默认SALARY为50000.00。

    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
    );

    如上UNIQUE约束,设置AGE字段唯一,表里面不能出现两个相同年龄的内容,并且不能为空。

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

    如上PRIMARY约束,设置ID为主键,用来唯一标识数据库表中的各行/记录。

    注意:

    我们使用主键来引用表中的行。可通过把主键设置为其他表的外键,来创建表之间的关系。由于"长期存在编码监督",在 SQLite 中,主键可以是 NULL,这是与其他数据库不同的地方。

    主键是表中的一个字段,唯一标识数据库表中的各行/记录。主键必须包含唯一值。主键列不能有 NULL 值

    一个表只能有一个主键,它可以由一个或多个字段组成。当多个字段作为主键,它们被称为复合键

    如果一个表在任何字段上定义了一个主键,那么在这些字段上不能有两个记录具有相同的值。

    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)
    );

    如上CHECK约束来限制工资不能小于等于0,必须大于0。

  • 相关阅读:
    poj 2676 Suduku (dfs)
    poj 1562 Oil Deposits (dfs)
    poj 2907 Collecting Beepers (dfs)
    poj 1655 Balancing Act (树形dfs)
    poj 3411 Paid Roads (dfs)
    hdu 2896 病毒侵袭 (AC)
    hdu 3065 病毒侵袭持续中 (AC)
    poj 2251 Dungeon Master (bfs)
    java中debug使用
    Swing入门级小项目总结
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/6274027.html
Copyright © 2011-2022 走看看