『SQLite』约束怎么用

摘要:主要内容是 SQLite 中的约束,它是一种建立在表及其列上的强制执行的规则。包含主键约束、非空约束、唯一约束、检查约束、外键约束等。

什么是约束

在表及其数据列上强制执行的规则,用于限制数据库表中数据的类型、范围、格式等,以确保数据的完整性和一致性。

主键约束(PRIMARY KEY)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype PRIMARY KEY
);

唯一约束(UNIQUE)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype UNIQUE
);

非空约束(NOT NULL)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype NOT NULL
);

默认值约束(DEFAULT)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype DEFAULT default_value
);

检查约束(CHECK)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype CHECK (expression)
);

外键约束(FOREIGN KEY)

sql 复制代码
CREATE TABLE table_name (
    column_name datatype,
    FOREIGN KEY (column_name) REFERENCES other_table(other_column)
);

自动递增(AUTOINCREMENT)

sql 复制代码
CREATE TABLE table_name (
    column_name INTEGER PRIMARY KEY AUTOINCREMENT
);

注意

上述内容详讲见文章:SQLite的约束详解(内含案例)

相关推荐
SelectDB8 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛8 小时前
MySQL的操作
数据库·mysql
猫咪很可爱8 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
小豆庄9 小时前
视频素材处理时的隐私盲区:云处理与本地处理的边界在哪
数据库·图像处理·视频·敏捷流程
Umi·9 小时前
MySQL库表操作
数据库·mysql
风哥2号10 小时前
数据库教程FGMT69:PostgreSQL运维诊断与监控分析
运维·数据库·postgresql
ss27310 小时前
AI时代首先数据库-PostgreSQL实战笔记 27 PostgreSQL数据写入与读取流程解析
数据库·笔记·postgresql
数字新视界10 小时前
信创机房动环监控技术在智能运维中的应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
悟天特斯10 小时前
边缘计算的“实时决策“:从数据回传到边端即时推理的决策升级
数据库·人工智能·边缘计算
这个DBA有点耶11 小时前
分布式集群的“最后一公里”:分片集群与透明分布式集群的工程代价拆解
数据库·分布式·架构