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

相关推荐
Bytebase2 小时前
MySQL 如何赶上 PostgreSQL 的势头?
运维·数据库·dba·开发者·数据库管理·devops
acegi135793 小时前
MySQL - 子查询和相关子查询详解
数据库·mysql
背太阳的牧羊人3 小时前
使用 SQL 和表格数据进行问答和 RAG(7)—将表格数据(CSV 或 Excel 文件)加载到向量数据库(ChromaDB)中
数据库·sql·langchain·excel
你若安好我便天晴4 小时前
sql--MERGE INTO
数据库·sql
半桶水专家4 小时前
go怎么终止协程的运行
数据库·sql·golang
weixin_438335404 小时前
【更新中】Mysql问题分析
数据库·mysql
huaqianzkh5 小时前
Redis的内存预分配策略
数据库·redis·缓存
有馬公生5 小时前
有关Redis的相关概述
数据库·redis·缓存
qincjun5 小时前
Qt仿音乐播放器:数据库持久化
开发语言·数据库·qt
背太阳的牧羊人5 小时前
使用 SQL 和表格数据进行问答和 RAG(1)—数据库准备
人工智能·语言模型·chatgpt·数据分析·sqlite