【MySQL】学习约束和使用图形化界面创建表

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

个人主页: Aileen_0v0
热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
个人格言:“没有罗马,那就自己创造罗马~”

at a loss 茫然,不知所措

文章目录

  • `约束`
    • `定义`
    • `目的`
  • `Exercises`
    • `约束演示1`
    • `约束演示2`
    • `约束演示3`
    • `约束演示4`
    • `约束演示5`
    • `约束演示6`
  • `图形化界面创建表`

约束

定义

约束是作用于表中字段上的规则,用于限制储存在表中的数据。

目的

保证数据库中的数据的正确,有效性,完整性。
约束 描述 关键字
非空约束 限制该字段的数据不能为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','男');

【MySQL】学习约束和使用图形化界面创建表_第1张图片

约束演示2

非空约束

insert into yuser(name,age,status,gender) values (null,19,'1','男');

【MySQL】学习约束和使用图形化界面创建表_第2张图片

约束演示3

唯一约束

insert into yuser(name,age,status,gender) values ('T3',19,'1','男');

【MySQL】学习约束和使用图形化界面创建表_第3张图片

约束演示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

默认约束

insert into yuser(name,age,gender) values ('T5',120,'男');

【MySQL】学习约束和使用图形化界面创建表_第4张图片


图形化界面创建表

【MySQL】学习约束和使用图形化界面创建表_第5张图片
【MySQL】学习约束和使用图形化界面创建表_第6张图片

](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center)

你可能感兴趣的:(MySQL自学篇,mysql,学习,数据库)