SQL教程
SQL数据库
SQL表
SQL查询
SQL子句
SQL排序
SQL插入
SQL更新
SQL删除
SQL联接查询
SQL键

SQL主键

一个或多个列称为 主键(PK),它 唯一标识表中的每一行
如果要创建主键,则应在创建或修改表时定义PRIMARY KEY约束。
如果将多列用作主键,它称为 复合主键
在设计复合主键时,应使用尽可能少的列。对存储和性能都有好处,用于主键的列越多,所需的存储空间就越多。
就性能而言,较少的数据意味着数据库可以更快地处理。

要记住的主键要点: 主键可增强表的实体完整性。 主键始终具有唯一的数据。 主键长度不能超过900个字节。 主键不能为空值。 主键不能有重复的值。 一个表只能包含一个主键约束。
当我们为表指定主键约束时,数据库引擎会自动为主键列创建唯一索引。

主键的主要优点:
这种唯一性的主要优点是我们可以 快速访问
在oracle中,主键不允许包含超过32列。

一列的SQL主键:

在创建" students"表时,以下SQL命令在" S_Id"列上创建PRIMARY KEY。
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 Server,Oracle,MS Access:
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 Server,Oracle,MS Access:
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和LastName)组成。

ALTER TABLE上的SQL主键

当表已创建并且要在" S_Id"列上创建PRIMARY KEY约束时,应使用以下SQL :
一列上的主键:
ALTER TABLE students
ADD PRIMARY KEY (S_Id)
多列上的主键:
ALTER TABLE students
ADD CONSTRAint pk_StudentID PRIMARY KEY (S_Id,LastName)
使用ALTER TABLE语句添加主键时,主键列不得包含NULL值(首次创建表时)。

如何删除主键约束?

如果要删除(删除)主键约束,则应使用以下语法:
MySQL:
ALTER TABLE students
DROP PRIMARY KEY
SQL Server/Oracle/MS Access:
ALTER TABLE students
DROP CONSTRAint pk_StudentID
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4