MySQL 教程

MySQL 教程 MySQL 简介 MySQL 管理系统

MySQL SQL 语句

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 联接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自联接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 更改表 MySQL 约束 MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL 自动增量 MySQL 日期 MySQL 视图

MySQL 参考手册

MySQL 数据类型 MySQL 函数

MySQL 实例

MySQL 实例 MySQL 测验 MySQL 练习


MySQL PRIMARY KEY 主键约束

MySQL 主键约束

PRIMARY KEY 约束唯一标识表中的每条记录。

主键必须包含 UNIQUE 值,并且不能包含 NULL 值。

一张表只能有一个主键; 并且在表中,这个主键可以由单个或多个列(字段)组成。


CREATE TABLE 的 PRIMARY KEY

以下SQL在创建 "Persons" 表时在 "ID" 列上创建一个PRIMARY KEY 主键约束:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);

允许命名 PRIMARY KEY 约束,并在多个列上定义 PRIMARY KEY 约束 ,请使用以下 SQL 语法:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CONSTRAINT PK_Person PRIMARY KEY (ID,LastName)
);

注意:在上面的例子中,只有一个 PRIMARY KEY (PK_Person)。 但是,主键的 VALUE 由两列 (ID + LastName) 组成。



ALTER TABLE 上的 PRIMARY KEY

当表已经创建列时,在"ID"上创建 PRIMARY KEY 约束。 使用以下 SQL:

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

允许命名 PRIMARY KEY 约束,并在多个列上定义 PRIMARY KEY 约束 ,请使用以下 SQL 语法:

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

注意:如果您使用 ALTER TABLE 添加主键,则主键列必须已声明为不 包含 NULL 值(首次创建表时)。


删除主键约束

要删除 PRIMARY KEY 约束,请使用以下 SQL:

ALTER TABLE Persons
DROP PRIMARY KEY;