mysql中restrict的含义是什么


在mysql中,restrict是约束的意思,是指对表中数据的一种限制,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性、有效性和完整性。在MySQL中,有六种约束可供使用,包括主键约束、外键约束、唯一约束、检查约束、非空约束和默认值约束。

MySQL中什么是约束?

restrict(约束)是指对表中数据的一种限制,能够帮助数据库管理员更好地管理数据库,并且能够确保数据库中数据的正确性、有效性和完整性。

如果无效的值,如200、300,被存入数据表作为年龄的值,那么这些值就毫无意义。因此,使用约束来限定表中的数据范围是很有必要的。

MySQL中的约束就是用来检测数据正确性和合理性的,一般的错误有:1,存在相同重复的数据;2,错误的数据;3,数据丢失错误(空数据);4,指代不明确的错误(表之间无法准确联系起来)等。

MySQL的约束旨在解决一些问题,例如禁止身份证号重复以及强制收货地址非空。如果违反了约束,则数据操作行为被制止。

在 MySQL 中,主要支持以下 6 种约束:

1)主键约束

主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。

主键是表的一个特殊字段,该字段能唯一标识该表中的每条信息。例如,学生信息表中的学号是唯一的。

2)外键约束

外键约束经常和主键约束一起使用,用来确保数据的一致性。

例如,一个水果摊,只有苹果、桃子、李子、西瓜 4 种水果,那么,你来到水果摊要买水果只能选择苹果、桃子、李子和西瓜,不能购买其它的水果。

3)唯一约束

唯一约束和主键约束有个共同之处,那就是它们都能保证列的唯一性。与主键约束不同的是,唯一约束在一个表中可以有多个,并且设置唯一约束的列是允许有空值的,虽然只能有一个空值。

例如,在用户信息表中,要避免表中的用户名重名,就可以把用户名列设置为唯一约束。

4)检查约束

检查约束是用来检查数据表中,字段值是否有效的一个手段。

年龄字段在学生信息表中不含负数,且有数值限制。如果是大学生,年龄一般应该在 18~30 岁之间。为了减少无效数据的输入,在设置字段的检查约束时需要根据实际情况进行适当的设置。

5)非空约束

非空约束用来约束表中的字段不能为空。如果学生信息表中没有填写学生姓名,那么这条记录就没有意义。

6)默认值约束

默认值约束用来约束当数据表中某个字段不输入值时,自动为其添加一个已经设置好的值。

例如,在注册学生信息时,如果不输入学生的性别,那么会默认设置一个性别或者输入一个“未知”。

默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。

以上 6 种约束中,一个数据表中只能有一个主键约束,其它约束可以有多个。

操作表的约束

1、给一张表添加主键约束

一张表的只能有一个主键,添加主键有两种方式。

       单一主键:使用一个列作为主键列,当该列的值有重复时,则违反唯一约束。

       联合主键:使用多个列作为主键列,当多个列的值都相同时,则违反唯一约束。指的是:使用多个列的组合形式来确定主键,当出现组合重复就无效,如00,01,10,11,12,22这样的组合形式。

使用DDL语句添加主键约束。示例:

新鲜水果网站销售模板 新鲜水果网站销售模板

网站模板是能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:J*ascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠样式表),这里主要讲J*ascript。那么J*ascript是什么东西?J*ascript就是适应动态网页制作的需要而诞生的

新鲜水果网站销售模板 70 查看详情 新鲜水果网站销售模板
ALTER TABLE 表名 ADD PRIMARY KEY(列名);
alter table emp add primary key(employee_id);//选取employee_id作为主键
alter table emp add primary key(employee_id,shenfen_id);//联合主键

2、给一张表添加自增长主键约束

auto_increment。数据库管理系统在自动维护表格时会根据自然数自增的方式自动添加主键。同样的,自增长主键也是把某一列用作主键。当表中添加了主键的字段增加了数据,则主键自动加1。

自增长主键和一般主键约束可以相互转化。

1, 一个表中只能有一个列为自动增长。2,自动增长的列的类型必须是整数类型。3,自动增长只能添加到具备主键约束唯一性约束的列上。4,删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然后在删除约束。

       注意点:如果之前给某个字段添加了自增长属性,则删除这个字段时要先删除自增长属性。

alter table 表名 modify 主键 类型 auto_increment;
alter table emp modify employee_id int auto_increment;

或者在N*icat中添加主键:

mysql中restrict的含义是什么

3、删除一张表中的主键约束

使用DDL语句删除主键。

ALTER TABLE 表名 DROP PRIMARY KEY;
alter table emp drop primary key;

       注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除主键。

alter table emp modify employee_id int;//去掉自增长,与添加自增长代码地区别就是没有auto_increament
alter table emp drop primary key;

4、给一张表添加外键约束

使用DDL语句添加外键约束。可以给一张表设置多个外键。

ALTER  TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN  KEY(列名) REFERENCES 参照的表名(参照的列名);
alter table emp add constraint emp_fk
foreign key(dept_id) references
departments(department_id);

或在在N*icat中添加外键。外键名称常使用:表名_fk,表名_fk1表示。

mysql中restrict的含义是什么

5、删除一张表的外键约束

外键约束可以通过使用DDL语句来删除。或者在N*icat中主动删除外键。

ALTER TABLE 表名 DROP FOREIGN KEY 约束名;
alter table emp drop foreign key emp_fk;

mysql中restrict的含义是什么

6、给表中某字段添加唯一性约束

使用DDL语句添加唯一性约束。或在在N*icat中添加唯一性约束。

ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名);
alter table emp add constraint emp_uk unique(name);

mysql中restrict的含义是什么

7、删除表中某字段的唯一性约束

使用DDL语句删除唯一性约束。删除之前需要弄清楚删除的约束名是对哪一个字段进行约束的。

ALTER TABLE 表名 DROP KEY 约束名;
alter table emp drop key emp_uk;

8、给表中某个字段添加非空约束

使用DDL语句添加非空约束。或者N*icat。

ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL;
alter table emp modify salary float(8,2) not NULL;

mysql中restrict的含义是什么

9、删除表中某个字段的非空约束

使用DDL语句删除非空约束。

ALTER TABLE 表名 MODIFY 列名 类型 NULL;
alter table emp modify salary float(8,2) NULL;

mysql中restrict的含义是什么

创建表的时候添加约束

上面介绍了当一张表已经存在之后如何添加约束。下面介绍在一开始新建表的时候如何添加约束。

1、查询表中加了哪些约束?

 SHOW KEYS FROM 表名;

2、创建表时添加约束

       创建 depts 表包含 department_id 该列为主键且自动增长,department_name 列不允许重复,location_id 列不允含有空值。

create table depts
(
department_id int primary key auto_increment,
department_name varchar(30) unique,
location_id int not null;
);

以上就是mysql中restrict的含义是什么的详细内容,更多请关注其它相关文章!


# RESTRICT  # MySQL  # 抚顺seo工具是什么  # seo和付费排名  # seo的排名怎么做  # 茶陵网店营销推广招聘  # 常德seo优化标题  # 靖边百度推广营销中心地址  # 中山网络seo价格  # 网站搜索优化工具  # 重庆seo优化报价表  # 咸阳seo关键词排名  # 更好地  # 如何设置  # 的是  # 数据库中  # 是指  # 默认值  # 有一个  # 多个  # 镜像  # 主键 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 《王者荣耀世界》英雄获取攻略  Git命令与VS Code UI操作的对应关系解析  TikTok搜索结果不显示怎么办 TikTok搜索刷新与优化方法  J*aScript文本高亮功能优化:解决多词匹配错误与精确分割策略  荣耀盒子应用管理技巧  CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条  怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】  iPhone 14 Pro如何更改区域设置_iPhone 14 Pro地区语言修改教程  可米酷漫画在线阅读入口_ 可米酷漫画官网直达链接  《知到》打卡课程方法  抄漫画官网防走失地址_抄漫画最新漫画完整版阅读入口  如何使用 Optional 类型并满足 Pylint 的类型检查  J*a中逻辑运算符如何使用_逻辑与或非的基础用法讲解  解决PHP MySQL数据库更新无响应:SQL查询语法错误解析  解决异步Python机器人中同步操作的阻塞问题  铁拳8在线玩 铁拳8在线秒玩入口  Win11怎么开启HDR_Windows 11显示器画质增强设置  抖音作品被限流怎么办 抖音内容优化与流量恢复方法  TikTok收藏夹无法删除视频如何解决 TikTok收藏管理优化方法  mysql如何管理数据库账户_mysql数据库账户管理技巧  海棠书屋官方在线书籍入口 海棠书屋文学作品浏览官网链接  PHP utf8_encode 字符编码转换疑难解析与最佳实践  word文档行距怎么调?word文档调行距的操作步骤  iCloud官方网站 iCloud网页版在线登录入口  《火花chat》搜索好友方法  暴风影音官网正式版_暴风影音手机版官网下载安卓  微信步数怎么刷_微信步数快速提升技巧  Lar*el Dusk 测试中管理浏览器权限:以剪贴板访问为例  风神瞳获取全攻略  Win10共享文件夹设置方法 Win10局域网文件共享全攻略【教程】  厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项  中大网校app做题记录清除方法  《广发易淘金》国债逆回购操作教程  FullCalendar自定义按钮样式定制指南  胃动力不足?试试这5个调理方法  B站怎么快速升级 B站用户等级提升攻略【详解】  纯CSS实现自适应宽度与响应式布局的水平按钮组  《领英》查看屏蔽名单方法  mysql镜像配置如何恢复数据_mysql镜像配置数据恢复详细流程  Python项目中的条件导入:解决跨模块依赖问题  铁路12306官网登录入口 铁路12306在线购票官方平台  J*aScript类型数组_TypedArray使用  在Django中动态检查模型关联:一种灵活的解决方案  如何在CSS中使用伪类选择器_hover实现悬停效果  基于键值条件高效映射 Pandas DataFrame 多列数据  《kimi智能助手》制作ppt教程  抖音手机分身两个账号怎么切换?分身两个系统是一样的吗?  百度地图离线地图无法加载如何解决 百度地图离线地图加载优化方法  汽水音乐在线入口 汽水音乐网页端官方页面快速打开  《长生:天机降世》火塔小怪大全 

 2023-05-31

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.