文章目录
约束
定义
约束是作用于表中字段上的规则,用于限制储存在表中的数据。 |
目的
保证数据库中的数据的正确,有效性,完整性。 |
约束 | 描述 | 关键字 |
---|---|---|
非空约束 | 限制该字段的数据不能为null | NOT NULL |
唯一约束 | 保证该字段所有数据都唯一,不重复 | UNIQUE |
主键约束 | 主键是一行数据的唯一标识 ,要求非空且唯一 | PRIMARY KEY |
默认约束 | 保存数据时,若未指定该字段的值,则采用默认值 | DEFAULT |
检查约束 | 保证字段满足某一个条件 | CHECK |
外键约束 | 用于建立两张表之间数据的连接,保证数据的完整性和一致性 | FOREIGN KEY |
⚠️注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。
Exercises
根据需求,完成表结构的创建。 |
字段名 | 字段含义 | 字段类型 | 约束条件 | 约束关键字 |
---|---|---|---|---|
id | ID唯一标识 | int | 主键,并且自动增长 | PRIMARY KEY,AUTO_INCREMENT |
name | 姓名 | varchar(10) | 不为空,并且唯一 | NOT NULL,UNIQUE |
age | 年龄 | int | 大于0,并且 小于等于120 | check |
status | 状态 | char(1) | 如果没有指定该值,默认为1 | DEFAULT |
gender | 性别 | char(1) | 无 |
约束演示1
-- -------------约束演示---------------
create table yuser(
id int primary key auto\_increment comment '主键',
name varchar(10) not null unique comment '姓名',
age int check ( age > 0 && age <= 120 ) comment '年龄',
status char(1) default '1' comment '状态',
gender char(1) comment '性别'
) comment '用户表';
-- 插入数据
insert into yuser(name,age,status,gender) values ('T1',19,'1','男'),('T2',25,'0','男');
insert into yuser(name,age,status,gender) values ('T3',19,'1','男');
约束演示2
非空约束
insert into yuser(name,age,status,gender) values (null,19,'1','男');
约束演示3
唯一约束
insert into yuser(name,age,status,gender) values ('T3',19,'1','男');
约束演示4
主键约束
insert into yuser(name,age,status,gender) values ('T4',89,'1','男');
Created with Raphaël 2.3.0
为什么这里是主键5而不是4?
⚠️原因:刚刚虽然插入失败了但它也申请到了主键4 |
约束演示5
检查约束
insert into yuser(name,age,status,gender) values ('T5',121,'1','男');
约束演示6
默认约束
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/973e63038df6bb80978276b47868c475.png)
![img](https://img-blog.csdnimg.cn/img_convert/ae9652121e88050253f55d86ecbfedf0.png)
![img](https://img-blog.csdnimg.cn/img_convert/ae769a1533d1afb995976c3df9b94284.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)**
![img](https://img-blog.csdnimg.cn/img_convert/d2eae22bc1db2c2e082a555993aef32c.png)
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
目、讲解视频,并且会持续更新**
**如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)**
[外链图片转存中...(img-ns9tKUDo-1712869668051)]
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**