mysql修改表时怎么添加主键约束?

mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。

mysql修改表时怎么添加主键约束?

(推荐教程:mysql视频教程)

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

在创建表时设置主键约束

在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。

在定义字段的同时指定主键,语法格式如下:

  PRIMARY KEY [默认值]

示例

在 test_db 数据库中创建 tb_emp3 数据表,其主键为 id,SQL 语句和运行结果如下。

mysql> CREATE TABLE tb_emp3    -> (    -> id INT(11) PRIMARY KEY,    -> name VARCHAR(25),    -> deptId INT(11),    -> salary FLOAT    -> );Query OK, 0 rows affected (0.37 sec)mysql> DESC tb_emp3;+--------+-------------+------+-----+---------+-------+| Field  | Type        | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id     | int(11)     | NO   | PRI | NULL    |       || name   | varchar(25) | YES  |     | NULL    |       || deptId | int(11)     | YES  |     | NULL    |       || salary | float       | YES  |     | NULL    |       |+--------+-------------+------+-----+---------+-------+4 rows in set (0.14 sec)

在修改表时添加主键约束

图改改 图改改

在线修改图片文字

图改改 455 查看详情 图改改

主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。但是需要注意的是,设置成主键约束的字段中不允许有空值。

在修改数据表时添加主键约束的语法格式如下:

ALTER TABLE  ADD PRIMARY KEY();

通常情况下,当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。否则,无法设置主键约束。

示例

查看 tb_emp2 数据表的表结构,SQL 语句和运行结果如下所示。

mysql> DESC tb_emp2;+--------+-------------+------+-----+---------+-------+| Field  | Type        | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id     | int(11)     | NO   |     | NULL    |       || name   | varchar(30) | YES  |     | NULL    |       || deptId | int(11)     | YES  |     | NULL    |       || salary | float       | YES  |     | NULL    |       |+--------+-------------+------+-----+---------+-------+4 rows in set (0.14 sec)

修改数据表 tb_emp2,将字段 id 设置为主键,SQL 语句和运行结果如下。

mysql> ALTER TABLE tb_emp2    -> ADD PRIMARY KEY(id);Query OK, 0 rows affected (0.94 sec)Records: 0  Duplicates: 0  Warnings: 0mysql> DESC tb_emp2;+--------+-------------+------+-----+---------+-------+| Field  | Type        | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| id     | int(11)     | NO   | PRI | NULL    |       || name   | varchar(30) | YES  |     | NULL    |       || deptId | int(11)     | YES  |     | NULL    |       || salary | float       | YES  |     | NULL    |       |+--------+-------------+------+-----+---------+-------+4 rows in set (0.12 sec)

以上就是mysql修改表时怎么添加主键约束?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/356760.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
鉴定师APP鉴定要多久_鉴定师APP鉴定时长与加急服务说明
上一篇 2026年11月13日 19:03:19
手机分身设置方法
下一篇 2025年11月29日 02:35:50

相关推荐

  • 访问mysql需要权限怎么办

    访问mysql需要权限怎么办访问mysql需要权限怎么办访问mysql需要权限怎么办访问mysql需要权限怎么办

    解决MySQL访问权限设置的方法:首先进入mysql执行目录下输入【mysqld-shareware.exe】,再输入【mysql –user=root mysql】;然后进入到【mysql‘’gt】,通过提示符下进行操作。 更多相关免费学习推荐:mysql教程(视频) 解决MySQL访…

    2026年11月13日 • 用户投稿
    000
  • mysql中如何将字符替换

    mysql中如何将字符替换mysql中如何将字符替换mysql中如何将字符替换mysql中如何将字符替换

    mysql中将字符替换的方法:使用update替换,代码为【UPDATE 表名 SET 你要替换的字段= replace(你要替换的字段, ‘ ‘, ”)】。 更多相关免费学习推荐:mysql教程(视频) mysql中将字符替换的方法: 1、查找的数据中有好多空格…

    2026年11月13日 • 用户投稿
    100
  • mysql使用存储过程的作用是什么?

    mysql使用存储过程的作用是什么?mysql使用存储过程的作用是什么?mysql使用存储过程的作用是什么?mysql使用存储过程的作用是什么?

    mysql使用存储过程的作用:1、增强SQL语句的功能和灵活性;2、减少网络流量,从而可降低网络负载;3、提高数据库的访问效率;4、提高数据库的安全性和数据的完整性;5、使数据独立,达到解耦的效果。 (推荐教程:mysql视频教程) 存储过程是一组为了完成特定功能的 SQL 语句集合。使用存储过程的…

    2026年11月13日 • 用户投稿
    000
  • mysql怎么删除视图?

    mysql怎么删除视图?mysql怎么删除视图?mysql怎么删除视图?mysql怎么删除视图?

    在mysql中可以使用“DROP VIEW”语句来删除视图,语法格式为“DROP VIEW [ , …]”。“DROP VIEW”语句可以一次删除多个视图,但是必须在每个视图上拥有DROP权限。 (推荐教程:mysql视频教程) 删除视图是指删除 MySQL 数据库中已存在的视图。删除视图时,只能删…

    2026年11月13日 • 用户投稿
    000
  • MySQL安装后如何审计日志_MySQL日志审计功能配置方法

    MySQL日志审计需平衡安全与性能,核心是合理配置通用查询日志、慢查询日志、错误日志、二进制日志及审计插件。生产环境应避免全开日志,优先启用慢查询、错误和二进制日志,必要时使用审计插件实现细粒度追踪。通用查询日志因高I/O开销仅限临时调试,慢查询日志应合理设置long_query_time阈值并记录…

    2026年11月13日
    1500
  • PHP一键环境如何与VSCode集成_一键环境VSCode联调配置

    首先确认PHP环境已安装并运行,再在VSCode中安装PHP Intelephense和PHP Debug插件,接着配置php.ini启用Xdebug扩展并设置正确路径与端口,重启Apache服务后通过phpinfo()验证Xdebug加载,然后在VSCode中创建launch.json文件配置调试…

    2026年11月13日
    800
  • mysql怎么查看有没有索引?

    mysql怎么查看有没有索引?mysql怎么查看有没有索引?mysql怎么查看有没有索引?mysql怎么查看有没有索引?

    mysql中,可以使用SQL的“SHOW INDEX”语句来查看数据表中有没有索引,语法格式“SHOW INDEX FROM [ FROM ]”;返回数据表中一系列的索引信息,例索引的名称、定义索引的列字段等等。 (推荐教程:mysql视频教程) 在 MySQL 中,可以使用 SHOW INDEX …

    2026年11月13日 • 用户投稿
    000
  • mysql null的含义是什么

    mysql null的含义是什么mysql null的含义是什么mysql null的含义是什么mysql null的含义是什么

    mysql null的含义:1、如在普通的字段中,空值就是表示空值;2、如果将一个空值的数据插入到TimesTamp类型的字段中,空值就不一定为空。 mysql null的含义: 空值是不占用空间的,MySQL中的NULL其实是占用空间的。 不过在MySQL数据库中执行SQL语句,需要小心两个陷阱:…

    2026年11月13日 • 用户投稿
    000
  • 如何解决mysql连接不上远程服务器

    如何解决mysql连接不上远程服务器如何解决mysql连接不上远程服务器如何解决mysql连接不上远程服务器如何解决mysql连接不上远程服务器

    解决mysql连接不上远程服务器的方法:首先登录到mysql服务器;然后使用语句修改所有主机的访问权限,代码为【update user set host = ‘%’ where user= ‘root’】;最后直接执行如下命令解决报错即可。 解决mys…

    2026年11月13日 • 用户投稿
    000
  • mysql如何用minus运算符?

    mysql如何用minus运算符?mysql如何用minus运算符?mysql如何用minus运算符?mysql如何用minus运算符?

    mysql不支持MINUS运算符,但可以使用MySQL JOIN来模拟它,语法格式“SELECT 字段列表 FROM 表1 LEFT JOIN 表2 ON join_predicate WHERE 表2.id IS NULL;”。 (推荐教程:mysql视频教程) SQL MINUS运算符简介 MI…

    2026年11月13日 • 用户投稿
    200
  • 如何修改mysql的安装路径

    如何修改mysql的安装路径如何修改mysql的安装路径如何修改mysql的安装路径如何修改mysql的安装路径

    修改mysql的安装路径的方法:首先使用命令停止mysql,并建立目标存放目录及使用命令拷贝文件;然后修改MySQL配置文件;接着修改MySQL启动脚本;最后重启mysqld service mysqld restart即可。 修改mysql的安装路径的方法: 1、使用命令:service mysq…

    2026年11月13日 • 用户投稿
    1000
  • mysql如何打开数据库文件的位置

    mysql如何打开数据库文件的位置mysql如何打开数据库文件的位置mysql如何打开数据库文件的位置mysql如何打开数据库文件的位置

    mysql打开数据库文件位置的方法:首先打开mysqml文件夹找到【my.ini】文件;然后选择【记事本打开】;最后按【ctrl+f】搜索【datadir】即可找到。 mysql打开数据库文件位置的方法: 第1步:打开mysqml文件夹,显示的文件如下,然后找到my.ini文件,如图所示。 第2步:…

    2026年11月13日 • 用户投稿
    400
  • MySQL数据库主键自增:如何避免题目删除后ID不匹配导致抽题错误?

    MySQL数据库主键自增:如何避免题目删除后ID不匹配导致抽题错误?MySQL数据库主键自增:如何避免题目删除后ID不匹配导致抽题错误?MySQL数据库主键自增:如何避免题目删除后ID不匹配导致抽题错误?MySQL数据库主键自增:如何避免题目删除后ID不匹配导致抽题错误?

    MySQL数据库主键自增与题目删除:如何避免ID不匹配导致抽题错误? 在开发在线抽题小程序时,经常会遇到MySQL数据库主键自增与题目删除后ID不匹配的问题。 程序使用MySQL数据库,主键ID自增,并包含删除题目的功能。 简单的随机ID抽题方法存在缺陷:删除题目后,数据库中会留下“空洞”的ID,导…

    2026年11月13日 • 用户投稿
    300
  • mysql怎么查两个表的交集

    mysql怎么查两个表的交集mysql怎么查两个表的交集mysql怎么查两个表的交集mysql怎么查两个表的交集

    mysql查询两个表的交集方法:1、将两个数据的数据列用UNION ALL关键字合并查询交集;2、使用带IN关键字的查询;3、使用带EXISTS关键字的子查询。 mysql查询两个表的交集方法: 1、两个要求交集的表(列)的结构要一致,对应的字段数,字段类型都应该相同;将两个数据的数据列用 UNIO…

    2026年11月13日 • 用户投稿
    100
  • laravel怎么在不同的测试环境中使用不同的数据库_laravel测试环境多数据库使用方法

    通过环境变量和配置文件分离实现Laravel多测试环境数据库隔离,使用.env.testing文件自动加载测试配置,为不同测试套件指定独立数据库,支持在测试类中动态切换连接,推荐内存SQLite提升速度与隔离性,并可在config/database.php中定义多个连接灵活调用,确保各环境数据互不干…

    2026年11月13日
    200
  • mysql添加分区出错怎么办?

    mysql添加分区出错怎么办?mysql添加分区出错怎么办?mysql添加分区出错怎么办?mysql添加分区出错怎么办?

    mysql添加分区出错,报“1503”错误的原因:每一个分区表中的公式中的列,必须在主键“unique key”中包括,否则就报错;解决方法:先使用“PRIMARY KEY”关键字创建一个复合主键,将分区字段加入到主键中,再进行分区操作。 (推荐教程:mysql视频教程) 如果分区字段没有包含在主键…

    2026年11月13日 • 用户投稿
    000
  • 为什么我的mysql服务没了?

    为什么我的mysql服务没了?为什么我的mysql服务没了?为什么我的mysql服务没了?为什么我的mysql服务没了?

    mysql服务没了的原因:1、没有注册服务;2、系统更新等原因导致MySQL服务丢失。解决方法:1、以管理员用户打开cmd;2、使用命令进入MySQL的安装路径下的bin目录;3、执行“mysqld.exe –install”命令即可。 (推荐教程:mysql视频教程) mysql服务没…

    2026年11月13日 • 用户投稿
    200
  • mysql多表查询一般用什么?

    mysql多表查询一般用什么?mysql多表查询一般用什么?mysql多表查询一般用什么?mysql多表查询一般用什么?

    mysql多表查询一般用交叉连接、内连接和外连接。交叉连接返回连接表的笛卡尔积;内连接是组合两个表中的记录,返回关联字段相符的记录,即返回两个表的交集部分;外连接会先将连接的表分为基表和参考表,再以基表为依据返回满足和不满足条件的记录。 (推荐教程:mysql视频教程) 在关系型数据库中,表与表之间…

    2026年11月13日 • 用户投稿
    100
  • linux上mysql改密码忘了怎么办?

    linux上mysql改密码忘了怎么办?linux上mysql改密码忘了怎么办?linux上mysql改密码忘了怎么办?linux上mysql改密码忘了怎么办?

    解决方法:1、在my.cnf中,增加“[mysqld]”和“skip-grant-tables”2行代码,用于登录时跳过密码验证;2、启动mysql服务,并登录mysql;3、连接mysql数据库,使用UPDATE命令修改用户密码即可。 (推荐教程:mysql视频教程) linux上mysql改密码…

    2026年11月13日 • 用户投稿
    000
  • mysql添加用户可访问不了怎么办

    mysql添加用户可访问不了怎么办mysql添加用户可访问不了怎么办mysql添加用户可访问不了怎么办mysql添加用户可访问不了怎么办

    mysql添加用户可访问不了的解决办法:首先以管理员身份登录到MySQL服务器中,创建一个MySQL用户;然后赋予MySQL用户权限,并运行以下命令赋予”myuser”用户特定权限;最后为用户添加资源限制,并验证即可。 更多相关免费学习推荐:mysql教程(视频) mysql…

    2026年11月13日 • 用户投稿
    000

发表回复

登录后才能评论
关注微信