SQLite数据库定义表约束

一、主键约束
数据表中的每一条记录都应该有一个主键,这就像我们的身份证号码、员工号、银行账号等
当数据库表使用了主键后,SQLite将自动创建表“SQLITE_SEQUENCE”表中只有两个字段:name,seq(数据的条数)

一个表中只能有一个主键约束

主键特点:唯一、自增

案例如下:
创建一个teacher表

CREATE TABLE teacher(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT

);
插入数据会自动生成ID值
insert into teacher(name) values(‘李四’);

二、外键约束
如果表A的主关键字是表B中的字段,则该字段成为表B的外键,表A成为主表,表B成为从表
sqlite默认关闭了外键可通过 PRAGMA foreign_keys=on 可开启

如果要删除主表中的记录,就必须保证这条记录没有被从表中的记录关联

具体如下:
创建两个表并建立外键关系
首先建立主表
create table teacher(
id int primary key autoincrement,
name text,
age int ,
kemu text

再建立分表
create table class(
id int primary key autoincrement,
name text,
age int,
laoshi int,
foreign key(laoshj) references teacher(id) //foreign key 是从表中的键,references 是主表中主键对应的值。

)

你可能感兴趣的:(Android)