SQLite 约束学习笔记
什么是约束?
在 SQLite 中,约束是一种限制数据存储在表中的规则。有几种类型的约束可以使用,包括以下内容:
- NOT NULL:该列不允许为空。
- UNIQUE:该列中的所有值必须是唯一的。
- PRIMARY KEY:该列用于唯一标识表中的每个行。
- CHECK:指定该列的值必须满足特定条件。
- FOREIGN KEY:用于确保表之间的数据一致性。
实例
NOT NULL
创建一个名为 users
的表,其中包含 id
、name
和 email
列,其中 name
和 email
列不允许为空:
Copy CodeCREATE TABLE users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT NOT NULL
);
UNIQUE
创建一个名为 cars
的表,其中包含一个名为 model
的列,其中每个值都必须是唯一的:
Copy CodeCREATE TABLE cars (
id INTEGER PRIMARY KEY,
model TEXT UNIQUE,
year INTEGER
);
PRIMARY KEY
创建一个名为 orders
的表,其中包含 id
、customer
和 order_date
列,其中 id
用于唯一标识表中的每个行:
Copy CodeCREATE TABLE orders (
id INTEGER PRIMARY KEY,
customer INTEGER,
order_date TEXT
);
CHECK
创建一个名为 employees
的表,其中包含 id
、name
和 salary
列,其中 salary
必须大于等于 35000:
Copy CodeCREATE TABLE employees (
id INTEGER PRIMARY KEY,
name TEXT,
salary INTEGER CHECK (salary >= 35000)
);
FOREIGN KEY
创建一个名为 orders
的表和一个名为 customers
的表。 在 orders
表中,我们还添加了 customer_id
列,该列是引用 customers
表中 id
列的外键:
Copy CodeCREATE TABLE customers (
id INTEGER PRIMARY KEY,
name TEXT
);
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
customer_id INTEGER,
order_date TEXT,
FOREIGN KEY (customer_id) REFERENCES customers(id)
);
以上是 SQLite 约束的一些基本语法和实例,希望能帮助你更好地理解约束的作用和使用。