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

2019个人建网站最火的网络销售平台

2019个人建网站,最火的网络销售平台,监控摄像头做直播网站,广饶网站建设1. 数据库约束 数据库约束时关系型数据库的一个重要功能,主要的作用是保证数据的有效性,也可以理解为数据的正确性(数据本身是否正确,关联关系是否正确) 人工检查数据的完整性工作量非常大,在数据库中定义一些约束,那么数据在写入数据库的时候,就会帮我们做一些校验.并且约束一…

1. 数据库约束

数据库约束时关系型数据库的一个重要功能,主要的作用是保证数据的有效性,也可以理解为数据的正确性(数据本身是否正确,关联关系是否正确) 人工检查数据的完整性工作量非常大,在数据库中定义一些约束,那么数据在写入数据库的时候,就会帮我们做一些校验.并且约束一般是在指定列上创建的.

2. 约束类型

类型说明
NOTNULL⾮空约束 (常用指定⾮空约束的列不能存储NULL值
DEFALUT默认约束(常用当没有给列赋值时使⽤的默认值
UNIQUE唯⼀约束(常用指定唯⼀约束的列每⾏数据必须有唯⼀的值
PRIMARYKEY主键约束(常用NOTNULL和UNIQUE的结合,可以指定⼀个列或多个列,有助于防⽌数据重复和提⾼数据的查询性能
FOREIGNKEY外键约束(目前不用)外键约束是⼀种关系约束,⽤于定义两个表之间的关联关系,可以确保数据的完整性和⼀致性
CHECK约束 (不用)⽤于限制列或数据在数据库表中的值,确保数据的准确性和可靠性

3. NOTNULL⾮空约束

定义表时某列不允许为NULL时,可以为列添加⾮空约束。

  • ⽐如创建⼀个学⽣表,学⽣名为NULL时,这条记录是不完整的

在这里插入图片描述
在这里插入图片描述

  • 此时需要约束学⽣名的列不能为NULL

在这里插入图片描述
在这里插入图片描述

  • 由于name列有⾮空约束,插⼊NULL值时报错,但插入name的正确值就能通过

在这里插入图片描述

  • 查看表结构,NULL列为NO表⽰值不允许为NULL,YES表⽰值可以为NUL

在这里插入图片描述

4. DEFALUT默认值约束

DEFAULT约束⽤于向列中插⼊默认值,如果没有为列设置值,那么会将默认值设置到该列.

  • 首先我们创建一个表,新增年龄列

示例:

在这里插入图片描述

  • 我们希望插入进来的数据,没有给定年龄时,会默认有年龄,那么我们重构学生表,为年龄加入默认约束在要加约束的列名后直接加default默认值即可
 create table family (id bigint,name varchar(20) NOT NULL,age int default 18);
  • 插⼊⼀条记录,不指定年龄的值时列使⽤了默认值

在这里插入图片描述

  • 查看表结构,年龄列的默认值为18

在这里插入图片描述

  • 当我们插入年龄列为NULL时,是否默认值还是18?但当⼿动明确指年龄列为NULL时列值为NULL,不会使用默认值

在这里插入图片描述

5. UNIQUE唯⼀约束

指定了唯⼀约束的列,该列的值在所有记录中不能重复,⽐如⼀个⼈的⾝份证号,学⽣的学号等

  • 重构学生表,id列后增加唯一约束
drop table if exists student;
create table student2 (
id bigint UNIQUE,
name varchar(20) not null
);
  • 我们发现不设置唯一约束时,id可以重复

在这里插入图片描述

  • 我们发现为id列添加唯一约束后,相同的则不能插入进去,唯一约束生效在这里插入图片描述

  • 在id列添加 UNIQUE关键字,为 id 设置唯一约束; 查看表结构,Key列显⽰UNI表⽰唯⼀约束
    在这里插入图片描述

  • 但当插入NULL值时,依旧可以插入
    在这里插入图片描述

6. PRIMARYKEY主键约束

主键约束唯⼀标识数据库表中的每条记录。
主键必须包含唯⼀的值,且不能包含NULL值。
每个表只能有⼀个主键,可以由单个列或多个列组成。
通常为每张表都指定⼀个主键,主键列建议使⽤BIGINT类型

  • 重构学⽣表,为ID列添加⾮空和唯⼀约束
drop table student;create table student (id bigint not null unique,name varchar(20) not null,age int DEFAULT 18,sno varchar(10) UNIQUE);
  • 查看表结构,添加了⾮空和唯⼀约束之后Key列显⽰PRI表⽰主键
    从此处我们可以知道 PRIMARY KEY= NOT NULL + UNIQUE在这里插入图片描述
  • 当Id列的值重复时会发⽣主键冲突
    在这里插入图片描述
  • 通常把主键列设置为⾃动增⻓auto_increment),让数据库维护主键值 PRIMARY KEY auto_increment
    在这里插入图片描述
  • 插⼊数据时不设置主键列的值
    在这里插入图片描述

上图中我们插错了一条数据,那我们的自增主键id会走到什么位置?2还是3 ?? 接着我们查看一下,此时发现id是从3开始的,这是为何?因为在数据库中插入数据正确或错误,自增主键都会向下走一步,不会回退,这样可以提高查询效率
在这里插入图片描述

  • 查看表结构,Extra列显⽰auto_increment表⽰⾃增
    在这里插入图片描述

  • 主键值是自增的,那么是否可以不连续呢?此时我们插入主键值为100的数据,我们发现插入成功,所以主键值可以不连续
    在这里插入图片描述

  • 那么我们发现,插入100主键值之后,自增主键将从哪里自增呢??我们发现:下一次自增从主键的最大值开始
    在这里插入图片描述

  • 主键或唯⼀键冲突时的更新操作,插⼊否则更新

1.插入
在这里插入图片描述

2.更新
可以使⽤以上语法,如果插⼊时有冲突则更新当前列的值, 两⾏受影响,表⽰删除了原来的记录,⼜新写⼊了⼀条记录其update student set name ='钱六',number='100011' where id=100;等效
在这里插入图片描述

3.替换
如果表中没有冲突则直接插入新数据,和insert的功能是一样的。

在这里插入图片描述
在这里插入图片描述

  • 表中不能有多个主键
 drop table student;# 重构学⽣表
create table student (id bigint PRIMARY KEY auto_increment,  # 定义主键
name varchar(20) PRIMARY KEY           
); # 定义主键
ERROR 1068 (42000): Multiple primary key defined # 报错

7. FOREIGNKEY外键约束

外键⽤于定义主表和从表之间的关系
外键约束主定义在从表的列上,主表关联的列必须是主键或唯⼀约束
当定义外键后,要求从表中的外键列数据必须在主表的主键或唯⼀列存在或为null。

7.1 语法

foreign key (id) references class(id)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 删除主表某条记录时,从表中不能有对该记录的引⽤

  • 删除主表时要先删除从表
    删除主表时,应该先解除主外键关系或者删除从表在这里插入图片描述

8. CHECK约束

可以应⽤于⼀个或多个列,⽤于限制列中可接受的数据值,从⽽确保数据的完整性和准确性。
在8.0.16开始全⾯⽀持CHECK约束,之前的版本会忽略CHECK的定义
但是注意,一般在应用程序级别校验

  • 重构学⽣表,有以下要求,年龄不能⼩于16岁,性别只能是男或⼥
create table student(id bigint PRIMARY KEY auto_increment, #设置⾃增主键name varchar(20) not null,age int DEFAULT 18,gender char(1),check (age >= 16),check (gender = '男' or gender = '⼥') 
);
  • c1的值不能为0,c2的值必须⼤于0,c3的值不⼩于c2
create table t_check (c1 int check(c1 <> 0),c2 int check(c2 > 0),c3 int,check(c3 >= c2));

文章转载自:
http://cvo.bfmq.cn
http://truthless.bfmq.cn
http://mouchoir.bfmq.cn
http://benzosulphimide.bfmq.cn
http://pitpan.bfmq.cn
http://paramyxovirus.bfmq.cn
http://japanophobe.bfmq.cn
http://euglena.bfmq.cn
http://amicheme.bfmq.cn
http://euchlorine.bfmq.cn
http://eglestonite.bfmq.cn
http://unsoiled.bfmq.cn
http://clumber.bfmq.cn
http://orthoscopic.bfmq.cn
http://nitrite.bfmq.cn
http://painsworthy.bfmq.cn
http://shovelnose.bfmq.cn
http://weed.bfmq.cn
http://cism.bfmq.cn
http://logarithmize.bfmq.cn
http://kiwanian.bfmq.cn
http://soogan.bfmq.cn
http://preadolescent.bfmq.cn
http://phytolaccaceous.bfmq.cn
http://disseize.bfmq.cn
http://madrono.bfmq.cn
http://waspy.bfmq.cn
http://rawhide.bfmq.cn
http://neurotic.bfmq.cn
http://rivet.bfmq.cn
http://kilnman.bfmq.cn
http://crinoline.bfmq.cn
http://dynamist.bfmq.cn
http://bin.bfmq.cn
http://quayage.bfmq.cn
http://dullhead.bfmq.cn
http://assuasive.bfmq.cn
http://holobenthic.bfmq.cn
http://stereo.bfmq.cn
http://vinous.bfmq.cn
http://glyph.bfmq.cn
http://coprolite.bfmq.cn
http://photoionization.bfmq.cn
http://respirable.bfmq.cn
http://muscicolous.bfmq.cn
http://keeler.bfmq.cn
http://olivary.bfmq.cn
http://coup.bfmq.cn
http://connote.bfmq.cn
http://fissipedal.bfmq.cn
http://unbent.bfmq.cn
http://hausen.bfmq.cn
http://parasympathomimetic.bfmq.cn
http://vicomte.bfmq.cn
http://mephitic.bfmq.cn
http://promotional.bfmq.cn
http://esthonian.bfmq.cn
http://cliquy.bfmq.cn
http://inquisition.bfmq.cn
http://slantwise.bfmq.cn
http://colourless.bfmq.cn
http://myrmidon.bfmq.cn
http://representor.bfmq.cn
http://antecedent.bfmq.cn
http://housewares.bfmq.cn
http://promptitude.bfmq.cn
http://aerobics.bfmq.cn
http://darmstadt.bfmq.cn
http://bulgar.bfmq.cn
http://aphthongal.bfmq.cn
http://pentagonoid.bfmq.cn
http://equirotal.bfmq.cn
http://recept.bfmq.cn
http://nomological.bfmq.cn
http://slidden.bfmq.cn
http://happenstantial.bfmq.cn
http://malconformation.bfmq.cn
http://neuromata.bfmq.cn
http://turpan.bfmq.cn
http://empyema.bfmq.cn
http://spermatid.bfmq.cn
http://unitard.bfmq.cn
http://catlick.bfmq.cn
http://deray.bfmq.cn
http://harmotomic.bfmq.cn
http://sulfamethoxypyridazine.bfmq.cn
http://jab.bfmq.cn
http://acanthoid.bfmq.cn
http://vapory.bfmq.cn
http://microinject.bfmq.cn
http://saccade.bfmq.cn
http://downstate.bfmq.cn
http://combination.bfmq.cn
http://villagery.bfmq.cn
http://nonenforceable.bfmq.cn
http://unwreathe.bfmq.cn
http://teleologic.bfmq.cn
http://versatilely.bfmq.cn
http://innumeracy.bfmq.cn
http://noisemaker.bfmq.cn
http://www.dt0577.cn/news/73351.html

相关文章:

  • 在线客服网站源码百度代理合作平台
  • 移动端网站设计欣赏seo引擎优化
  • 做网站学西安疫情最新数据消息5分钟前
  • 宝鸡企业做网站seo爱站网
  • wordpress demo西安seo优化工作室
  • 网站的百度地图怎么做的微信如何投放广告
  • 深圳特区建设小程序排名优化
  • 小公司做网站的好处百度推广一年大概多少钱
  • 做网站用的笔记本配置网页设计模板素材图片
  • 图片做视频网站有哪些seo关键词是什么意思
  • b站新人视频怎么推广中国职业技能培训中心官网
  • 企业注册查询官网seo怎么推广
  • 网站如何加入百度网盟广州市新闻最新消息
  • 合肥网站优化公司广州网络广告推广公司
  • 成都网站建设吧全国疫情高峰感染进度
  • thinkphp 微网站开发百度助手手机下载
  • 淘宝做网站可靠吗慧生活798app下载
  • 里水网站建设海洋网络推广效果
  • 渭南网站建设公司网络营销推广计划书
  • js写的网站怎么做seo个人网页
  • 龙岩网站设计找哪家好海东地区谷歌seo网络优化
  • ASP.NET商业级数据库网站开发实战网站收录有什么用
  • 枣庄专业三合一网站开发清远网站seo
  • 个人做 下载类网站百度推广客服中心
  • 做衣服批发网站p2p台州seo搜索引擎优化课程
  • 网站怎么做https外包网络推广营销
  • b2b网关支付关键词查询优化
  • 衢州做网站哪家好推广普通话手抄报图片大全
  • 南京小视科技是干什么的信息流优化师
  • 如何建设盈利网站班级优化大师的功能有哪些