主键是表中的一列或一组列,用于唯一标识表中的每一行数据。每个表只能有一个主键,并且主键的值不能重复。
主键列不能包含 NULL 值。
唯一性:主键值在整个表中必须是唯一的。
非空性:主键列的值不能为 NULL。
一般用于标识表中的每一行数据。
在创建表时,通过 PRIMARY KEY 关键字定义主键。
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);
外键是一个表中的列,它与另一个表的主键列或唯一约束列形成引用关系。
外键用于建立表与表之间的关系,确保参照表中的数据在被引用表中存在。
外键建立了两个表之间的关系,通常表示一对多的关系。
外键的值可以为 NULL,表示未引用任何行。
在创建表时,通过 FOREIGN KEY 关键字定义外键。
CREATE TABLE table1 (
column1 datatype PRIMARY KEY,
column2 datatype,
...
);
CREATE TABLE table2 (
column1 datatype,
column2 datatype,
FOREIGN KEY (column1) REFERENCES table1(column1)
);
主键和外键之间建立了关系,通常是一对多的关系。在外键的表中,外键列与主键列或唯一约束列形成引用关系。
外键的目的是确保引用表中的数据在被引用表中有对应的匹配值,维护了数据的完整性。
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(50)
);
CREATE TABLE orders (
order_id INT PRIMARY KEY,
employee_id INT,
order_amount DECIMAL(10, 2),
FOREIGN KEY (employee_id) REFERENCES employees(employee_id)
);
在这个例子中,employees 表的 employee_id 列是主键,而 orders 表的 employee_id 列是外键,它引用了 employees 表的主键,建立了两个表之间的关系。