位置:首页 > 数据库 > SQL在线教程 > SQL主键

SQL主键

主键是一个在一个数据库表中唯一标识每个行/记录表中的一个字段。主键必须包含唯一值。主键列不能有NULL值。

一个表只能有一个主键,它可以由单个或多个字段组成。当多个字段被用来作为主键,它们被称为复合键。

如果一个表有任何字段定义为主键,那么就不能有两个记录具有字段的值相同。

注:在创建数据库表,需要使用这些概念。

创建主键:

这里是定义ID属性为CUSTOMERS表的主键的语法。

CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
);

要在“ID”列创建PRIMARY KEY约束,假设CUSTOMERS表已经存在,使用下面的SQL语法:

ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID);

注:如果您使用ALTER TABLE语句添加主键,主键列必须已经被声明为不包含NULL值(要创建表时)。

对于多个列定义PRIMARY KEY约束,使用下面的SQL语法:

CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),        
       PRIMARY KEY (ID, NAME)
);

当CUSTOMERS表已经存在,要在“ID”和“NAMES”列创建PRIMARY KEY约束,可以使用下面的SQL语法:

ALTER TABLE CUSTOMERS 
   ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME);

删除主键:

您可以清除表主键约束,使用语法:

ALTER TABLE CUSTOMERS DROP PRIMARY KEY ;