个性化阅读
专注于IT技术分析

SQL PRIMARY KEY主键

本文概要

一列或多列被称为主键(PK),其唯一地标识表中的每一行。

如果你想创建一个主键,那么当你创建定义主键约束或修改表。

当多个列用作一个主键,它被称为复合主键。

在设计复合主键,你应该尽可能少的列可以使用。这是良好的存储和性能都,你使用的主键的多个列,你需要更多的存储空间。

性能方面客栈,更少的数据意味着数据库可以处理速度更快。


要记住的要点主键:

  • 主键强制表的实体完整性。
  • 主键总是有独特的数据。
  • 主键的长度不能超过900个字节被超过。
  • 主键不能为空值。
  • 可以有一个主键,没有重复的值。
  • 一个表只能包含一个主键约束。

当我们为表指定一个主键约束,数据库引擎自动创建的主键列的唯一索引。


主键的主要优点:

这种独特性的主要优点是,我们得到了快速的访问。

在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
赞(0)
未经允许不得转载:srcmini » SQL PRIMARY KEY主键

评论 抢沙发

评论前必须登录!