文章目录

  • 建表时设置主键约束
    • 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. wampsever的mysql密码_WampServer修改Mysql密码的步骤
  2. doctype的三种类型
  3. CentOs7中安装sonarQube服务系列------1.CentOS7中Docker的安装
  4. qt中xml文件的更新
  5. javascript学习笔记之入门
  6. 20190808:买卖股票的最佳时机
  7. 奚恺元《别做傻瓜做的事》
  8. EChart:基础学习
  9. java技术学习路线
  10. 【RDKit】Python化学包RDkit的教程
  11. 电脑版的微信客户端也能刷朋友圈啦
  12. JavaScript 资源大全中文版
  13. Bable的基本使用
  14. Ubuntu的root
  15. 2022年csdn最全的Python练手经典趣味编程100例(部分
  16. ElasticSearch搜索引擎详解-持续更新中
  17. 使用 OpenCV-Python 识别答题卡判卷
  18. ElasticSearch教程与实战:从搭建服务到Spring Boot整合
  19. WorkLess可量化的团队协作软件源码下载
  20. 联发科发布旗舰芯片天玑9200,创新散热封装技术实现能效进一步突破

热门文章

  1. CodeForces - 14E Camels【DP】
  2. 怎么让input控件,填充满td
  3. 【网络】DPDK的基本原理|DPDK和RDMA的区别
  4. c语言规定 标识符由,【填空题】C语言的标识符命名规则规定标识符可以由字母数字和下划线组成,首字符不能是 。 (4.0分)...
  5. PTA L1-020 帅到没朋友 (20 分)(C++)
  6. jquery跳转、刷新页面大全
  7. 国资优选安全正规:个人理财方案与家庭理财方案有区别吗?
  8. Vue 学习——表格列表数据显示百分号%、显示数字改为自定义内容、数据表头下拉、点击筛选数据
  9. Keystone基本命令
  10. Protel 2004 的PCB中整体修改元件的技巧