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));