mysql 主键,唯一标识表中每条记录的字段或字段组合

首页 2025-09-15 14:20:35


在 MySQL 中,主键(Primary Key)是用于唯一标识表中每条记录的字段或字段组合,它具有以下特点和作用:

主键的特点

  1. 唯一性:主键的值在表中必须是唯一的,不能有重复值
  2. 非空性:主键字段不能包含 NULL 值
  3. 最小性:尽量选择单个字段作为主键,而非多个字段的组合
  4. 稳定性:主键的值应很少变动或永不改变

主键的作用

  • 唯一标识表中的每条记录,便于快速查找
  • 作为表之间关联(外键)的基础
  • 自动创建索引,提高查询性能

主键的创建方式

  1. 创建表时定义主键(单个字段):

sql
CREATE TABLE students (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(50),
    age INT,
    PRIMARY KEY (id)
);
 

  1. 创建表时定义复合主键(多个字段组合):

sql
CREATE TABLE student_courses (
    student_id INT NOT NULL,
    course_id INT NOT NULL,
    score INT,
    PRIMARY KEY (student_id, course_id)
);
 

  1. 在已存在的表上添加主键

sql
ALTER TABLE students
ADD PRIMARY KEY (id);
 

  1. 删除主键

sql
ALTER TABLE students
DROP PRIMARY KEY;
 

注意事项

  • 一个表只能有一个主键
  • 通常使用自增整数(INT AUTO_INCREMENT)作为主键,便于管理和提高性能
  • 主键字段通常命名为 id 或表名 + _id(如 student_id
  • AUTO_INCREMENT 关键字会自动为新记录生成唯一的递增数值,非常适合作为主键

合理使用主键可以提高数据库的查询效率和数据完整性,是数据库设计中的重要环节。
nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密