命令行操作MySQL - 调整列的完整性约束

本文介绍了如何在MySQL中调整列的完整性约束,包括添加、删除和修改主键、外键、唯一键,以及设置和取消默认值、自增长和非空约束。通过实例展示了相关SQL语句的使用,并探讨了其在实际项目中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是命令行操作MySQL数据库系列博客的第十一篇,今天这篇博客记录如何《调整列的完整性约束》。(调整 主键、外键、非空、唯一、自增长和默认值约束)


一、 主键PK、外键FK和 唯一键UK

查询键的别名show index 或 keys from 表名;

1. 新增(键的别名是自定义的)

alter table 表名 add constraint 键的别名 键(字段名);
键:主键、外键、唯一键

例:
首先创建两张表用于插入主键和唯一键。
在这里插入图片描述
新增主键:

alter table s1 add constraint pk_id PRIMARY KEY(id);

新增唯一键:

alter table s2 add constraint uk_id UNIQUE(id);

在这里插入图片描述

查看:
貌似主键不可以自定义名字呀!
在这里插入图片描述

新增外键:
ALTER TABLE 表名2 ADD CONSTRAINT 外键别名 FOREIGN KEY(字段) REFERENCES 表名1(字段);

例: 给s2表的id字段设置外键,对应s1表的id字段

ALTER TABLE s2 ADD CONSTRAINT FK_S1ID FOREIGN KEY(id) REFERENCES s1(id);

外键可以自定义名字!

2. 删除

删除主键:alter table 表名 drop PRIMARY KEY;
删除外键和唯一键:alter table 表名 drop index 键的别名

例:
删除主键:

alter table s1 drop PRIMARY KEY;

删除唯一键:

alter table s2 drop index uk_id;

在这里插入图片描述

3.修改

按照上述步骤 先执行 删除 然后再 新增 即可!

原因:
修改需要花费特多的时间,假如数据越多,则花费时间越多,倒不如先执行删除然后再新增,效果特高。


二、修改默认值、自增长和非空

使用如下语法重新定义列即可:
alter table 表名 modify 列名 类定义;

例:
以s3表为例修改和删除
在这里插入图片描述

  1. 设置字段id为自增长

    alter table s3 modify id int AUTO_INCREMENT;
    

    在这里插入图片描述

  2. 设置默认值和非空

    alter table s3 modify name varchar(32) NOT NULL DEFAULT '无名字';
    

    在这里插入图片描述

  3. 取消默认值和非空

    alter table s3 modify name varchar(32);
    

    在这里插入图片描述

其实就跟创建表时定义字段差不多,类似。


总结:
这个的话,目前博主还是新手,没怎么用到过,也需这再项目中真的会有用吧,为表的字段添加外键和删除外键还没搞会,以后有需要用到了,再来研究再补上吧。(貌似调整列的完整性约束也挺有用的(●’◡’●))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpp_learners

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值