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

相关推荐
Chan16几秒前
《Java并发编程的艺术》| 并发关键字与 JMM 核心规则
java·开发语言·数据库·spring boot·java-ee·intellij-idea·juc
l1t6 分钟前
DeepSeek对AliSQL 集成 DuckDB 的总结
数据库·sql·mysql·duckdb
想起你的日子18 分钟前
ASP.NET Core EFCore之DB First
数据库·.netcore
SeaTunnel22 分钟前
Apache SeaTunnel MySQL CDC 支持按时间启动吗?
大数据·数据库·mysql·开源·apache·seatunnel
韩立学长33 分钟前
Springboot喵趣网上宠物店的设计和实现5pidz60b(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
深耕AI1 小时前
【wordpress系列教程】07 网站迁移与备份
运维·服务器·前端·数据库
刘大猫.1 小时前
XNMS项目-mysql数据库同步
数据库·统计·同步·数据同步·数据统计·数据库同步·业务统计
踢足球09292 小时前
寒假打卡:2026-01-22
数据库·sql
数巨小码人2 小时前
核心架构深度解析-揭开国产数据库内核的神秘面纱
数据库·架构
薛晓刚2 小时前
MySQL 精度扩展时候的DDL阻塞对比Oracle
数据库