文章目录

  • 建表时设置主键约束
    • 1.单字段主键
    • 2.联合主键
  • 修改表属性时添加主键约束
  • 删除主键约束

主键即主键约束。分为单字段主键和多字段组合主键。
使用主键时,应注意:
      1.每个表只能有一个主键
      2.主键不能为NULL,不允许重复,必须唯一标识一条记录
      3.联合主键需唯一且最小,即去掉联合主键中的任一字段,剩余字段构成的主键值不唯一
接下来,介绍设置主键约束和删除主键约束的方法

建表时设置主键约束

1.单字段主键

(1) 在定义字段时,指定主键

# 语法1:
CREATE TABLE <数据表>
(<字段名> <数据类型> PRIMARY KEY  -- 在定义字段时指定主键
);
# 示例1:
# 在数据库中创建数据表table_example1,主键为id
CREATE TABLE table_example1
(id INT(10) PRIMARY KEY,name VARCHAR(20)
);

表结构如下图所示

(2) 在定义完字段后指定主键

# 语法2:
CREATE TABLE <数据表>
(<字段名> <数据类型> ,PRIMARY KEY(<字段名>)  -- 在定义完字段后指定主键
);
# 示例2:
# 在数据库中创建数据表table_example2,主键为id
CREATE TABLE table_example2
(id INT(10),name VARCHAR(20),PRIMARY KEY(id),
);

表结构如下图所示

说明:语法1与语法2定义的表结构一样,且MySQL存储的建表语句一样,均为语法2所示

2.联合主键

联合主键表示该数据的主键有多个字段组成,一般在单字段主键无法满足需求时使用。

注意:联合主键只能在定义完所有的字段后指定,不能直接在字段明后指定主键(也无法指定)

# 语法3:
CREATE TABLE <数据表>
(<字段1> <数据类型>,<字段2> <数据类型>,PRIMARY KEY(<字段1>,<字段2>)
);
# 示例3:
# 创建数据表table_example3,主键约束为id,name的联合主键
CREATE TABLE table_example3
(id INT(10),name VARCHAR(20),PRIMARY KEY(id,name)
);

table_example3表结构如下图所示:

修改表属性时添加主键约束

如在建表时未添加主键约束,可通过修改表属性 添加主键约束
此时,待设为主键的字段不允许有NULL、重复值

# 语法:
ALTER TABLE <数据表> ADD PRIMARY KEY(<字段名>);  -- 修改表属性时添加主键约束
# 示例:
# 将字段id设为无主键表的主键约束
# 1.新建无主键约束的数据表
CREATE TABLE table_example4
(id INT(10),name VARCHAR(20)
);

table_example4表结构如下图:

# 2.修改表table_example4,将id设为主键
ALTER TABLE table_example4 ADD PRIMARY KEY(id);

修改主键约束后table_example4表结构如下:


注意id字段对应的Key列值的变化,有空白变为"PRI",即id被指定为主键

删除主键约束

# 语法:
ALTER TABLE <数据表> DROP PRIMARY KEY(<字段名>);
ALTER TABLE <数据表> DROP PRIMARY KEY;  -- 一张表中只有一个主键,所以删除主键约束可以不用指定主键名,两行代码效果一样
# 示例:
# 删除数据表table_example4中的主键约束
ALTER TABLE table_example4 DROP PRIMARY KEY;

删除主键约束后table_example4的表结构如下图所示:

MySQL主键约束-PRIMARY KEY相关推荐

  1. 主键约束(PRIMARY KEY) [MySQL][数据库]

    主键约束(PRIMARY KEY) 主键约束的特点: 主键约束相当于唯一性约束+ 非空约束,主键约束不允许重复,也不允许出现空值 一个表最多只能有一个主键约束,建立主键约束可以在列级别创建,也可以再表 ...

  2. SQL约束(主键约束 primary key、外键约束 foreign key、唯一约束unique 、CHECK约束)

    注意: A.表中有数据不能创建约束 B.视图下设置后,要点击保存(只有保存后在才看的到) c   别忘了,点刷新,才会出来呀! 1.主键约束 primary key 主键是每行的唯一标识符,仅仅通过它 ...

  3. MySQL主键(PRIMARY KEY)

    "主键(PRIMARY KEY)"的完整称呼是"主键约束".MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键 ...

  4. 2、MySQL主键(PRIMARY KEY)

    主键(PRIMARY KEY)的完整称呼是"主键约束",是 MySQL 中使用最为频繁的约束.一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键. 主键 ...

  5. MySQL数据库——MySQL主键(PRIMARY KEY)

    主键(PRIMARY KEY)的完整称呼是"主键约束",是 MySQL 中使用最为频繁的约束.一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键. 主键 ...

  6. MySQL主键(primary key)的作用

    分享一个我的公众号,最近突然想玩公众号,之前做过一段时间前端开发,考虑到现在应用程序越来越多,未来社会一定是一个充满"只有你想不到,没有你做不到"的App的世界!而微信小程序又给我 ...

  7. MySQL主键约束(PRIMARY KEY ,PK)

    MySQL主键约束(PRIMARY KEY ,PK) 在数据库中使用过程中 如果 想将某个字段作为唯一标识,标记所有内容时,则可以使用PK 约束进行设置.即PK约束在创建数据库表时为某些字段加上&qu ...

  8. mysql中的主键关键字_MySQL主键(PRIMARY KEY)

    "主键(PRIMARY KEY)"的完整称呼是"主键约束".MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键 ...

  9. mysql增加primary key_MySQL主键(PRIMARY KEY)

    "主键(PRIMARY KEY)"的完整称呼是"主键约束".MySQL主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键, ...

最新文章

  1. python如何打印26个字母_玩法#用Python学会打印26个英语字母,简单操作如下
  2. CRM WebClient UI的浏览器打印实现
  3. 『设计模式』设计模式--策略模式
  4. guava 并发_使用Guava对并发应用程序进行基于对象的微锁定
  5. 设计模式 学习笔记(2)单一职责原则、开放封闭原则、依赖倒转原则
  6. heap python_数据结构-堆(Heap) Python实现
  7. C++中栈内存和堆内存
  8. NoSQL数据库知识
  9. 计算机软件硬件维修,电脑软硬件维修从入门到精通
  10. mysql 如何避免间隙锁_Mysql Innodb 间隙锁浅析
  11. esxi能直通的显卡型号_显卡参数看不懂?手把手教你选独立显卡
  12. python 创建netcdf_如何用python netCDF4创建netCDF文件?
  13. php fpm配置和php.ini,php安装完后配置php.ini和php-fpm.conf
  14. 节气丨大雪至,人间至此雪盛时,岁暮天寒,顺问冬安
  15. Facebook POP 进阶指南
  16. 【前端】js轮播图,简洁代码,一目了然
  17. 基于SSM的音乐视频网站的设计与实现
  18. 数据库结构比对,再初始数据比对方法
  19. 【javaScript】获取某年某月的的最后一天(即当月天数) 妙用
  20. 梦之印记——记雅礼中学第二期数学魔术进校园活动

热门文章

  1. Jetson-Xavier-NX刷机+pytorch环境配置+yolov5运行
  2. 需求调研(一)——调研流程和时间的把握
  3. 多思计组实验实验四、数据通路实验
  4. 人体信号基线漂移问题
  5. 暗原色原理去雾matlab代码(Matlab)
  6. 受限玻尔兹曼机(RBM)学习笔记(四)对数似然函数
  7. 网站ftp服务器密码修改,ftp服务器忘记密码修改
  8. 设计测试用例的六种方法
  9. 健康的荷斯坦奶牛-USACO-USACO阶梯-第2章.更大的挑战
  10. 4.19内核SLUB内存分配器