SQL复合键

时间:2020-02-23 14:32:24  来源:igfitidea点击:

在实时情况下,可能会出现一列不足以唯一标识一行的情况。
在这种情况下,我们使用列的组合来唯一地标识一行。

SQL复合键

SQL复合键是表中两个或者更多列的组合,用于唯一标识一行。
列的组合保证了唯一性。

我们将尝试了解如何在下面提到的数据库中创建复合密钥。

  • MySQL
  • SQLServer
  • PostgreSQL

MySQL复合键

语法:

CREATE TABLE table_name 
(COL1 datatype, 
COL2 datatype, COLn datatype 
PRIMARY KEY (COL1, COL2));

在上面的语法中,我们可以看到主键是两列的组合。

让我们创建一个带有复合主键的表。

CREATE TABLE Employee(
employee_no <span class="hljs-built_in">integer,
employee_name character(50),
employee_city character(35),
employee_phn numeric,PRIMARY KEY (employee_no,employee_phn));

在上表中,我们使用两列创建主键-employee_no和employee_phn。

执行以上查询后,检查表属性。

PostgreSQL复合密钥

语法:

CREATE TABLE table_name 
(COL1 datatype, 
COL2 datatype, COLn datatype 
PRIMARY KEY (COL1, COL2));

在上面的语法中,我们可以看到主键是两列的组合。

让我们创建一个带有复合主键的表。

CREATE TABLE Employee(
employee_no integer,
employee_name character(50),
employee_city character(35),
employee_phn numeric,PRIMARY KEY (employee_no,employee_phn));

在上表中,我们使用两列创建主键-employee_no和employee_phn。

SQL Server复合键

语法:

CREATE TABLE table_name 
(COL1 datatype, 
COL2 datatype, COLn datatype 
PRIMARY KEY (COL1, COL2));

在上面的语法中,我们可以看到主键是两列的组合。

让我们创建一个带有复合主键的表。

CREATE TABLE Employee(
employee_no integer,
employee_name character(50),
employee_city character(35),
employee_phn numeric,PRIMARY KEY (employee_no,employee_phn));