当前位置: 首页 > news >正文

工业设计代做网站免费红色ppt模板网站

工业设计代做网站,免费红色ppt模板网站,怎么登录已注册的网站,网站目录不能访问一、什么是数据库约束 数据库约束是指对数据库中的数据所施加的规则或条件,用于确保数据的准确性和可靠性。 二、约束类型 约束可分为NOT NULL非空约束、DEFAULT默认约束、UNIQUE唯一约束、PRIMARY KEY主键约束、FOREIGN KEY外键约束、CHECK约束六种。每一种的作…

一、什么是数据库约束

数据库约束是指对数据库中的数据所施加的规则或条件,用于确保数据的准确性和可靠性。

二、约束类型

约束可分为NOT NULL非空约束、DEFAULT默认约束、UNIQUE唯一约束、PRIMARY KEY主键约束、FOREIGN KEY外键约束、CHECK约束六种。每一种的作用都各不相同。

三、NOT NULL(非空约束)

定义表时某列不允许为NULL时,可以添加非空约束。
比如创建一个员工表,员工名为NULL时,这条记录是不完整的:

create table workers(id bigint comment '员工编号',name varchar(20) comment '员工姓名'
);
insert into workers values (1,null);
select * from workers;

查询结果如下所示:


此时我们就需要约束员工姓名的列不能为NULL:

drop table if exists workers;
create table workers(id bigint comment '员工编号',name varchar(20) not null comment '员工姓名'
);

此时我们再插入先前的数据:

insert into workers values (1,null);

运行后我们发现它报错了:
在这里插入图片描述
此时我们再插入正常值,发现可以成功插入:
在这里插入图片描述
然后我们查看表结构发现结构如下所示:
在这里插入图片描述
此时Null列id为YES,name为NO,这表示id列的值可以为null,而name列的值不能为null。

四、DEFAULT(默认值约束)

DEFAULT约束用于在列中指定默认值,如果一个列中没有设置值,那么便会将默认值设置到该列

更改员工表,在员工表中新增年龄列

drop table if exists workers;
create table workers(id bigint comment '员工编号',name varchar(20) not null comment '员工姓名',age int comment '年龄'
);

插入一条数据,不指定年龄,此时年龄列的值为null

在这里插入图片描述

更改员工表,为年龄加入默认值约束20

drop table if exists workers;
create table workers(id bigint comment '员工编号',name varchar(20) not null comment '员工姓名',age int default 20 comment '年龄'
);

插入一条数据,不指定年龄时使用了默认值

在这里插入图片描述

查看表结构,年龄列默认值为20

在这里插入图片描述

五、UNIQUE(唯一约束)

指定了唯一约束的列,该列的值在所有记录中不能重复,例如员工的编号,学生的学号等等。

更改员工表,新增工号列

drop table if exists workers;
create table workers(id bigint comment '员工编号',name varchar(20) not null comment '员工姓名',age int default 20 comment '年龄',sno varchar(10) comment '工号'
);

不设置唯一约束时,工号可重复
在这里插入图片描述

更改员工表,为工号设置唯一约束

drop table if exists workers;
create table workers(id bigint comment '员工编号',name varchar(20) not null comment '员工姓名',age int default 20 comment '年龄',sno varchar(10) unique comment '工号'
);

插入重复的工号,发现报错,唯一约束生效

在这里插入图片描述

查看表结构,UNI表示唯一约束

在这里插入图片描述

六、PRIMARY KEY(主键约束)

(1)主键约束唯一标识数据库中的每条记录
(2)主键必须包含唯一的值,且该值不为NULL
(3)每个表只能有一个主键,主键可以由单个列或多个列组成
(4)建议为每个表都设置一个主键

更改员工表,为id列添加主键

drop table if exists workers;
create table workers(id bigint primary key comment '员工编号',name varchar(20) not null comment '员工姓名',age int default 20 comment '年龄',sno varchar(10) unique comment '工号'
);

注意:主键同时拥有非空约束和唯一约束的特性

查看表结构,PRI代表主键约束
在这里插入图片描述

可为主键设置自动增长

drop table if exists workers;
create table workers(id bigint primary key auto_increment comment '员工编号',name varchar(20) not null comment '员工姓名',age int default 20 comment '年龄',sno varchar(10) unique comment '工号'
);

插入数据时不指定主键列的值,其会自动生成
在这里插入图片描述

查看表结构,Extra列显示auto_increment
在这里插入图片描述

复合主键:以多个列共同组成的主键

(1)更改员工表,设置id和name为复合主键

drop table if exists workers;
create table workers(id bigint,name varchar(20),primary key(id,name)
);

(2)插入两条id不同,名字都为张三的数据
在这里插入图片描述
这里能够正常插入是因为主键由id和name共同组成,有一个不一样就行

七、FOREIGN KEY(外键约束)

(1)外键用于定义主表和从表之间的关系
(2)外键约束定义在从表的列上,主表关联的列必须是主键或唯一约束
(3)当定义外键后,要求从表中的外键列数据必须在主表的主键或唯一列存在或者为null

具体实例如下所示:
在这里插入图片描述

创建班级表,并插入数据

drop table if exists class;
create table class(id bigint primary key auto_increment,name varchar(10) not null
);
insert into class values(1,'数学1班'),(2,'数学2班'),(3,'物理1班'),(4,'化学2班');
select * from class;

在这里插入图片描述

创建学生表,加入外键约束

drop table if exists student;
create table student(id bigint primary key auto_increment,name varchar(10) not null,age int default 18,class_id bigint,foreign key (class_id) references class(id)
);

查看学生表结构,发现Key列的值为MUL,表示外键约束
在这里插入图片描述

正常插入数据
在这里插入图片描述

插入班级号为6的学生,由于主表中没有这个班级,插入失败
在这里插入图片描述

插入班级id为NULL的记录,可以成功,表示当前学生还未分配班级
在这里插入图片描述

删除主表某记录时,从表中不能有对该记录的引用
在这里插入图片描述

注意:删除主表时要先删除从表

八、CHECK约束

CHECK 约束可以应用于一个或多个列,用于限制列中可接受的数据值,从而确保数据的完整性和准确性

创建一个小说表,其中售价不得高于30,并插入一条数据售价大于30
在这里插入图片描述
我们发现它报错了,这就是check起了作用

本篇内容到这里就结束了,感谢各位看官观看,如果觉得本篇内容对你有用,可以一键三连支持一下哦

http://www.dtcms.com/a/535437.html

相关文章:

  • 服务器和网站的关系苏州网站建设培训学校
  • 建设网站需要学什么程序肇庆seo霸屏
  • 网站后台登陆密码忘记晚上网站推广软件免费版
  • 上海自助建站系统蓝色风格企业网站模板
  • 阿里云一键建站网站网站建设与网页设计课
  • 公众号同步到dede网站招商网站有哪些
  • 做h5长图网站内丘企业做网站
  • 提高网站规范化建设中达世联网站建设
  • 企业网站广告购物平台官网
  • 第五冶金建设公司职工大学网站网站制作网站开发ple id充值
  • 深圳网站建设做一个公司网站要多少钱怎么在线上推广自己的产品
  • 关于网站备案前置审批的相关说明 吉林网站建设亿码酷出名5
  • 手机企业网站在线网站分析工具
  • 自己如何建设微信网站蜜桃传奇免费网页版
  • 网站反链如何做做红酒知名网站
  • 营销型网站的定位android小程序开发
  • 网站建设系统有哪些wordpress用户功能扩展
  • 服务器怎么建网站asp和php的建站区别
  • 广州网站搭建费用济南房产信息网官网
  • 音乐版权购买网站新东方烹饪培训学校
  • 免费做彩页网站义乌网站建设公司价位
  • 互联网站产品开发的流程网站建设的公司地址
  • 浙江网站建设方案青海省住房与城乡建设厅网站
  • 四海网络网站建设建站做网站标题
  • 创建网站收费绍兴网站设计公司
  • 网站想换个风格怎么做在网站和网页的区别
  • 金科网站建设seo 怎么建设网站外链
  • 怎么往公司网站添加如何查询企业邮箱
  • 个人网站备案内容描述网站建设需求调研表模板
  • 58同城做网站找谁广州企业网站建设