『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的约束详解(内含案例)

相关推荐
这个DBA有点耶8 小时前
从症状到根因:数据库监控指标的分层方法与静态/动态阈值策略
数据库·mysql·代码规范
SelectDB8 小时前
时间旅行与快照能力速查:Doris 侧三条落地路径
大数据·数据库·数据分析
SelectDB8 小时前
云数仓成本结构拆解速查:五层计费 vs Doris / 托管形态
大数据·数据库·数据分析
SelectDB8 小时前
什么场景能承接与建议保留:Doris vs Snowflake 边界速查
大数据·数据库·数据分析
这个DBA有点耶10 小时前
DELETE没删多少数据,表却越来越大——InnoDB删除空洞与页合并失效的根因
数据库·mysql·代码规范
ly768913 小时前
PostgreSQL 备份恢复策略:pg_basebackup、WAL 归档与 PITR 在企业 Java 系统中的落地
java·数据库·postgresql·pitr·pg_basebackup·wal 归档
小羊没烦恼!14 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
注塑机数据采集联网14 小时前
如何解决注塑机数据采集联网对接MES系统数据WiFi传输数据不稳问题
大数据·数据库·物联网·数据挖掘·数据分析
黄俊懿14 小时前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构