📅  最后修改于: 2023-12-03 15:35:05.772000             🧑  作者: Mango
在 SQL 中,复合键(Compound Key)也称为联合键(Composite Key),指的是由多个列组成的键。一个表可以有多个列组成复合键,这些列可以是表中已有的列,也可以是新添加的列。
在建立复合键时,需要在创建表时指定多个列,并在它们前面添加 PRIMARY KEY 关键字,如下所示:
CREATE TABLE students (
id INT,
name VARCHAR(50),
age INT,
PRIMARY KEY (id, name)
);
这将创建一个名为 students 的表,其中包含名为 id、name 和 age 的三个列。然而,通过向 PRIMARY KEY 关键字添加名为 id 和 name 的列,它们将成为复合键的一部分。
复合键可以用于查询、排序和更新数据。查询复合键的语法非常简单,只需要在 WHERE 子句中指定多个列,并使用 AND 运算符将它们连接。例如,如下查询返回 id 为 123,并且姓名为 Tom 的学生的记录:
SELECT * FROM students WHERE id = 123 AND name = 'Tom';
排序也很简单,在 ORDER BY 子句中指定多个列排序的顺序即可。例如,如下代码通过姓名和年龄对学生记录进行按字母顺序排序:
SELECT * FROM students ORDER BY name ASC, age ASC;
更新或删除记录也可以使用复合键。例如,如下代码将删除 id 为 123,并且姓名为 Tom 的学生的记录:
DELETE FROM students WHERE id = 123 AND name = 'Tom';
需要注意的是,在使用复合键时,应遵循以下一些最佳实践:
在使用复合键时,需要仔细考虑其影响,以便确定最适合的方案。