SQL PRIMARY KEY主键

本文概要

  • 一列SQL主键
  • 多列SQL主键
  • 在ALTER TABLE SQL主键
  • 如何删除主键约束?
一列或多列被称为主键(PK),其唯一地标识表中的每一行。
如果你想创建一个主键,那么当你创建定义主键约束或修改表。
当多个列用作一个主键,它被称为复合主键。
在设计复合主键,你应该尽可能少的列可以使用。这是良好的存储和性能都,你使用的主键的多个列,你需要更多的存储空间。
性能方面客栈,更少的数据意味着数据库可以处理速度更快。
要记住的要点主键:
  • 主键强制表的实体完整性。
  • 主键总是有独特的数据。
  • 主键的长度不能超过900个字节被超过。
  • 主键不能为空值。
  • 可以有一个主键,没有重复的值。
  • 一个表只能包含一个主键约束。
当我们为表指定一个主键约束,数据库引擎自动创建的主键列的唯一索引。
主键的主要优点:这种独特性的主要优点是,我们得到了快速的访问。
【SQL PRIMARY KEY主键】在Oracle,它不允许主键以包含多于32个列。
一列SQL主键创建了“学生”表时,下面的SQL命令创建的“S_ID”列中的主键。
MySQL的:
CREATE TABLE students ( S_Id int NOT NULL,LastName varchar (255) NOT NULL,FirstName varchar (255),Address varchar (255),City varchar (255),PRIMARY KEY (S_Id) )

SQL服务器,Oracle,MS访问:
CREATE TABLE students ( S_Id int NOT NULL PRIMARY KEY,LastName varchar (255) NOT NULL,FirstName varchar (255),Address varchar (255),City varchar (255),)

多列SQL主键MySQL和SQL服务器,Oracle,MS访问:
CREATE TABLE students ( S_Id int NOT NULL,LastName varchar (255) NOT NULL,FirstName varchar (255),Address varchar (255),City varchar (255),CONSTRAINT pk_StudentID PRIMARY KEY (S_Id,LastName) )

注意:你应该注意到,在上面的例子中,只有一个PRIMARY KEY(pk_StudentID)。然而,它是由两列(S_ID和姓氏)组成。
在ALTER TABLE SQL主键当已经创建表,并且要创建你应该使用下面的SQL的“S_ID”列PRIMARY KEY约束:
在一列的主键:
ALTER TABLE students ADD PRIMARY KEY (S_Id)

多列主键:
ALTER TABLE students ADD CONSTRAINT pk_StudentID PRIMARY KEY (S_Id,LastName)

当你使用ALTER TABLE语句来添加主键,主键列不能包含空值(第一次创建表时)。
如何删除主键约束?如果你想删除(删除)主键约束,你应该使用下面的语法:
MySQL的:
ALTER TABLE students DROP PRIMARY KEY

SQL服务器/甲骨文/ MS访问:
ALTER TABLE students DROP CONSTRAINT pk_StudentID

    推荐阅读