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 是主表中主键对应的值。

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值