zoukankan      html  css  js  c++  java
  • SQLite-CONSTRAINTS(约束)

    SQLite – CONSTRAINTS(约束)

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

    级或表级约束可以列。列级约束是仅适用于一个列在表级约束应用于整个表。    

    以下是常用的约束在SQLite

    • NOT NULL Constraint: 确保列不能为空值。
    • DEFAULT Constraint : 提供了一个列的默认值时没有指定
    • UNIQUE Constraint: 确保列中的所有值是不同的。
    • PRIMARY Key: 惟一地标识每个行/记录在一个数据库表中
    • CHECK Constraint: 检查约束确保列中的所有值满足某些条件。

    Not Null Constraint约束

    默认情况下,一个列可以容纳NULL值。如果你不想要一个列有一个空值,那么您需要定义这些约束在这列指定NULL列现在不允许。    

    空不等于没有数据,相反,它代表了未知数据。

    例子:

    例如,下面的SQLite语句创建一个新的表称为公司,增加了五列,,ID和姓名和年龄,不接受指定null:

    CREATE TABLE COMPANY(

    ID INT PRIMARY KEY NOT NULL,

    NAME TEXT NOT NULL,

    AGE INT NOT NULL,

    ADDRESS CHAR(50),

    SALARY REAL

    );

    DEFAUL约束

    默认约束提供了一个默认值时,一列插入语句不提供一个特定的值。

    例子:

    例如,下面的SQLite语句创建一个新的表称为公司和5列补充道。这里,薪水列默认设置为5000.00,所以如果插入语句为本专栏不提供一个值,那么默认情况下,本专栏将被设置为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

    );

    UUNIQUE(唯一)约束

    独特的约束阻止两个记录有相同的值在一个特定的列。公司的表,例如,您可能想要阻止两个或两个以上的人拥有相同的年龄。

    例子:

    例如,下面的SQLite语句创建一个新的表称为公司和5列补充道。列在这里,年龄是独一无二的,所以你不能有两个记录相同的年龄:

    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约束

    主键约束惟一地标识每个记录在一个数据库表中。可以有更多独特的列,但只有一个表中的主键。主键是重要的在设计数据库表。主键是唯一的id。 

         

    我们用它们来参考表行。主键成为其他表的外键,当创建表之间的关系。由于长期存在的编码监督,主键在SQLite可以为空。与其他数据库情况并非如此。

     

    主键是表中的一个字段唯一地标识每一行/记录在一个数据库表中。主键必须包含唯一的值。一个主键列不能为空值。

     

    一个表只能有一个主键,可能由单个或多个字段。当使用多个字段主键,他们被称为一个composite key复合键)。

     

    如果一个表定义一个主键字段(s),那么你不能有两个记录有相同的值,字段(s)。如果一个表上定义一个主键

     

    例子:

    你已经看过上面各种示例,我们创造了公司的表与ID主键:

    CREATE TABLE COMPANY(

    ID INT PRIMARY KEY NOT NULL,

    NAME TEXT NOT NULL,

    AGE INT NOT NULL,

    ADDRESS CHAR(50),

    SALARY REAL

    );

    Check约束

    检查约束使条件检查进入一个记录的值。如果条件的求值结果为false,记录违反约束,不输入到表。

    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)

    );

    Dropping约束:

    SQLite支持有限子集的ALTER TABLESQLiteALTER TABLE命令允许用户重命名一个表或添加一个新的列到现有的表。不能重命名一个列,删除一列,或者从一个表添加或删除约束。

     

     

     

     

  • 相关阅读:
    server2012/win8 卸载.net framework 4.5后 无法进入系统桌面故障解决【转】
    Entity Framework中AutoDetectChangesEnabled為false時更新DB方法
    git常用命令备忘录
    MSSQL日誌傳輸熱備份注意事項
    c#生成唯一编号方法记录,可用数据库主键 唯一+有序
    Angular 隨記
    使用dumpbin命令查看dll导出函数及重定向输出到文件【轉】
    UML类图与类的关系详解【转】
    知識隨記
    session不会过期
  • 原文地址:https://www.cnblogs.com/orangebook/p/3513466.html
Copyright © 2011-2022 走看看