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 ;