专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

简单约束

  • 建表时可以给特定的字段设置一些约束条件,常见的约束有
  • NOT NULL :规定字段的值不能为null
  • UNIQUE :规定字段的值必须唯一
  • DEFAULT :指定字段的默认值 (建议:尽量给字段设定严格的约束,以保证数据的规范性)

  • 示例

    • CREATE TABLE T_Person (id INTEGER, name TEXT NOT NULL UNIQUE, age INTEGER NOT NULL DEFAULT 1) ;
    • name 字段不能为 NULL,并且唯一
    • age 字段不能为 NULL,并且默认为1

主键约束

  • 如果 T_Person 表中就 nameage 两个字段,而且有些记录的 nameage 字段的值都一样时,那么就没法区分这些数据,造成数据库的记录不唯一,这样就不方便管理数据
  • 良好的数据库编程规范应该要保证每条记录的 唯一性,为此,增加 主键约束
  • 每张表都必须有一个主键,用来标识记录的唯一性
  • 主键(Primary Key,简称PK)用来 唯一 地标识某 一条记录
  • 例如t_student可以增加一个id字段作为主键,相当于人的身份证

外键约束

  • 利用 外键约束 可以用来 建立表与表之间 的联系
  • 外键的一般情况是:一张表的某个字段,引用着另一张表的主键字段
  • 新建一个外键
  • CREATE TABLE T_Student (id INTEGER primary key autoincrement, name TEXT, age INTEGER, class_id INTEGER, constraint fk_student_class foreign key (class_id) references t_class (id));
  • T_Student 表中有一个叫做 fk_t_student_class_id_t_class_id外键
  • 这个外键的作用是用 T_Student 表中的 class_id 字段引用 T_Class 表的 id 字段
  • 数据库语句
    CREATE TABLE T_Student (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, class_id INTEGER);
    INSERT INTO T_Student (name, age) VALUES ('凤姐', 20);
    INSERT INTO T_Student (name, age) VALUES ('冰冰', 20);
    INSERT INTO T_Student (name, age) VALUES ('刘德华', 30);
    INSERT INTO T_Student (name, age) VALUES ('老王', 30);
    
    CREATE TABLE T_Class (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, room INTEGER);
    INSERT INTO T_Class (name, room) VALUES ('iOS', 110);
    INSERT INTO T_Class (name, room) VALUES ('Android', 119);
    INSERT INTO T_Class (name, room) VALUES ('UI', 120);
    

results matching ""

    No results matching ""