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

商城网站建设服务器关键词挖掘工具

商城网站建设服务器,关键词挖掘工具,高端网站制作费用,虚拟主机网站301跳转目录 1.前言 2.正文 2.1约束类型 2.2NULL约束 2.3UNIQUE约束 2.4DEFAULT约束 2.5PRIMARY KEY主键约束 2.6FOREIGN KEY外键约束 2.7CHECK约束 3.小结 1.前言 哈喽大家好啊,今儿来继续给大家分享最近学习的MySQL和约束相关的知识点,希望大家一起…

6b12b0ad42c84fccbe8203574122f807.jpeg


目录

1.前言

2.正文

2.1约束类型

2.2NULL约束

2.3UNIQUE约束

2.4DEFAULT约束

2.5PRIMARY KEY主键约束

2.6FOREIGN KEY外键约束

2.7CHECK约束

3.小结


1.前言

哈喽大家好啊,今儿来继续给大家分享最近学习的MySQL和约束相关的知识点,希望大家一起加油,让我们开始吧。

2.正文

2.1约束类型

在 MySQL 中,约束(Constraint)是对表中数据的一种规则,用于限制存储在表中的数据,确保数据库数据的完整性、一致性和准确性。约束在定义表的列时设置,主要分为以下几种:

2.2NULL约束

NULL 用于指定列可以接受空值。通常与 NOT NULL 约束相对,NULL 表示该列允许为空,即在插入或更新数据时,可以不给该列赋值,让其存储 NULL 值。

如果在创建表时没有为某列指定 NOT NULL 约束,MySQL 默认允许该列存储 NULL 值。如果设置为NOT NULL约束,那么在插入数据时必须设定初值。

接下来我们来演示一下:

CREATE TABLE student(
id BIGINT not NULL,
NAME VARCHAR(50)
);

我们先创建一个表,接着再用desc去查看:

 f0e3c1c8e2fe450c970e05951b4b73ee.png

我们可以看到,在上面一栏的约束中,id的NULL值被设置为了NO,意为无默认值,让我们插入数据试一下效果:

INSERT INTO student values (1,'jerry');
INSERT INTO student values (NULL,'TOM');

运行结果如下:

f28c324a63fe476a89fbd516cbf40dfe.png 提示信息告诉我们,id那个元素必须设置不为空。

0a5b16d7b51245d9bc816ea79e5e4ba3.png

由此观之,确实是只有一个元素插入成功。

2.3UNIQUE约束

UNIQUE 约束用于确保一列或多列中的值在表内是唯一的,即不允许出现重复的值。UNIQUE 约束可以防止插入重复的数据,从而保证数据的完整性。

特点如下:

  • 保证唯一性UNIQUE 约束确保指定列的值在整个表中是唯一的,但允许有一个空值(NULL)。
  • 与主键的区别:一个表只能有一个主键,但可以有多个唯一约束列。
  • 组合唯一约束:可以在多列上添加组合唯一约束,确保这些列的组合值在表中是唯一的。

添加UNIQUE约束的方式有俩种,一种是单列唯一约束另一种是多列组合唯一约束,下面附上代码来讲解:

create table stu1(
id1 bigint,
name1 VARCHAR(20)UNIQUE
);
create table stu2(
id2 bigint,
name2 VARCHAR(20),
number BIGINT,
Unique(name2,number)
);

先按照语法创建俩个表:
9d8b46a3a0dc489fa17f2d7cf89c3fa0.pngf25954965bf74487ace71a134e9f6eac.png

接下来插入数据验证一下:

ce8122ef1b8e4987b49a00f71a56e586.png

我们可以发现当有相同的值时,就没有办法正常插入

fa96ba4c90f34220ad8d711f8d17c8e6.png

整条语句都没有插入成功,同理多列一样没有办法成功,但有下面这一种情况:

9942bb8cfb6940d28f461ff884671021.png

组合类型中有一个重复,有一个不同,那么结果还是能插入成功的。 

2.4DEFAULT约束

DEFAULT 约束用于设置数据库表中的列的默认值。当插入数据时,如果某一列没有提供值,数据库会自动使用默认值。

这个较为简单我们直接上代码演示:

CREATE table stu (
id bigint,
name varchar(20),
class VARCHAR(20)DEFAULT('六班')
);

继续插入数据调试:

INSERT INTO stu (id, name, class) VALUES (1, 'jerry', '三班'), (2, 'tom', DEFAULT);

8672b1b8ff024162ac3fe398af5093ac.png

2.5PRIMARY KEY主键约束

PRIMARY KEY 主键约束用于唯一标识数据库表中的每一行记录。一个表只能有一个主键,且主键列的值必须唯一,并且不能为 NULL。主键约束通常用于保证数据的完整性和唯一性。

特点如下:

  • 唯一性:主键的值必须是唯一的,不能有重复。
  • 非空性:主键列不能包含 NULL 值。
  • 自动索引:数据库会自动为主键列创建索引,从而加快查询速度。
  • 单表唯一:每个表只能有一个主键,但主键可以由一个或多个列组合而成。

附上代码:

create table stu (
id bigint PRIMARY KEY auto_increment,
name varchar(20)
);

解释一下这里面是什么意思:

id BIGINT PRIMARY KEY AUTO_INCREMENTid 列是主键,同时使用 AUTO_INCREMENT 约束,这样每次插入新记录时,id 会自动递增,保证每条记录的唯一性。

dcc862a848be41629410e0bce64e2a0b.png

如果我们这样插入:

INSERT INTO stu (name) VALUES ('Alice'), ('Bob'), ('Charlie');

 没有为id赋初值,结果发现仍能正常插入,并仍有递增的功能:

bbe0dcf19e684d2984b4268717a6f525.png

2.6FOREIGN KEY外键约束

FOREIGN KEY 外键约束用于在两个表之间建立关系。外键用于引用另一个表的 PRIMARY KEYUNIQUE 列,从而保证数据的引用完整性。通过外键,可以确保某个表中的值必须在另一个表中存在,从而实现数据的关联性。

特点如下:

  • 外键是用来在两个表之间建立链接的字段。
  • 外键约束确保外键列的值在主表中必须存在。
  • 外键可以防止无效数据被插入到表中,确保数据一致性。

先创建父表:

CREATE TABLE departments (id INT PRIMARY KEY,name VARCHAR(50)
);

 再创建子表:

CREATE TABLE employees (id1 INT PRIMARY KEY,name2 VARCHAR(50),department_id INT,FOREIGN KEY (department_id) REFERENCES departments(id)
);

此时,employees 表的 id 列是一个外键,让我们查看一下表属性:

deb7bc8cdfd64ec3996e15a8fb0d6ffa.png

此时表中存在外键关系。

INSERT INTO departments (id, name) VALUES (1, 'HR'), (2, 'Engineering');
INSERT INTO employees (id1, name2, department_id) VALUES (101, 'Alice', 1), (102, 'Bob', 2);

插入这俩行代码检验一下: 

8904078b30f94d0e809a98219703d057.pngafd750e8ff8c466face6463d871eb123.png

可以看到效果已经显现。

外键的好处是可以通过外键确保数据的完整性和关系的正确性。

2.7CHECK约束

CHECK 约束用于限制表中列的数据值,以确保数据符合特定条件。它在数据插入或更新时验证数据是否满足特定的规则,从而保证数据的有效性和一致性。

特点如下:

  • CHECK 约束可以应用于单个列或多个列。
  • 它通过表达式来定义,表达式的值为 TRUE 表示满足条件,否则不满足。
  • 任何不满足 CHECK 约束的插入或更新操作都会被拒绝。
CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT CHECK (age >= 18)
);

在上面这个表中,为数据赋年龄时只能给>=18,一旦不满足条件就报错。 

3.小结

今天的分享到这里就结束了,喜欢的小伙伴点点赞点点关注,你的支持就是对我最大的鼓励,大家加油!


文章转载自:
http://extinct.c7501.cn
http://distinctive.c7501.cn
http://flokati.c7501.cn
http://biggity.c7501.cn
http://ingrained.c7501.cn
http://babyism.c7501.cn
http://flambe.c7501.cn
http://ichnography.c7501.cn
http://subvocalization.c7501.cn
http://raucous.c7501.cn
http://cook.c7501.cn
http://concoctive.c7501.cn
http://goldeye.c7501.cn
http://pasuruan.c7501.cn
http://prut.c7501.cn
http://impatience.c7501.cn
http://shuffleboard.c7501.cn
http://robust.c7501.cn
http://inhomogeneous.c7501.cn
http://lincolnshire.c7501.cn
http://prevent.c7501.cn
http://campstool.c7501.cn
http://ninny.c7501.cn
http://agony.c7501.cn
http://edemata.c7501.cn
http://annuation.c7501.cn
http://consent.c7501.cn
http://isocephalic.c7501.cn
http://gustiness.c7501.cn
http://codebook.c7501.cn
http://algebra.c7501.cn
http://soarable.c7501.cn
http://jhvh.c7501.cn
http://lobsterman.c7501.cn
http://ost.c7501.cn
http://thebes.c7501.cn
http://xylotile.c7501.cn
http://orchidology.c7501.cn
http://crenellation.c7501.cn
http://keratogenous.c7501.cn
http://tampion.c7501.cn
http://tandjungpriok.c7501.cn
http://whakapapa.c7501.cn
http://uneath.c7501.cn
http://syncope.c7501.cn
http://upburst.c7501.cn
http://krater.c7501.cn
http://narcolepsy.c7501.cn
http://pluviometer.c7501.cn
http://boracite.c7501.cn
http://sapience.c7501.cn
http://cranage.c7501.cn
http://notochord.c7501.cn
http://guimpe.c7501.cn
http://modelly.c7501.cn
http://saumur.c7501.cn
http://preciously.c7501.cn
http://momentum.c7501.cn
http://baas.c7501.cn
http://intake.c7501.cn
http://agape.c7501.cn
http://campimeter.c7501.cn
http://chatoyant.c7501.cn
http://pronate.c7501.cn
http://maidenlike.c7501.cn
http://adscititious.c7501.cn
http://laevorotatory.c7501.cn
http://ewan.c7501.cn
http://oolite.c7501.cn
http://nrotc.c7501.cn
http://poisonwood.c7501.cn
http://argive.c7501.cn
http://abeokuta.c7501.cn
http://nanoplankton.c7501.cn
http://leftlaid.c7501.cn
http://podagra.c7501.cn
http://diamantane.c7501.cn
http://outdistance.c7501.cn
http://timbales.c7501.cn
http://aloft.c7501.cn
http://cesura.c7501.cn
http://marconi.c7501.cn
http://roucou.c7501.cn
http://endville.c7501.cn
http://seabeach.c7501.cn
http://natalian.c7501.cn
http://aboveboard.c7501.cn
http://recompute.c7501.cn
http://straphang.c7501.cn
http://storeship.c7501.cn
http://allicin.c7501.cn
http://homogenous.c7501.cn
http://coprophagous.c7501.cn
http://dunkerque.c7501.cn
http://cutis.c7501.cn
http://vaporise.c7501.cn
http://pinch.c7501.cn
http://wongai.c7501.cn
http://finery.c7501.cn
http://fistnote.c7501.cn
http://www.zhongyajixie.com/news/90469.html

相关文章:

  • 400网站建设价格百度 seo优化作用
  • 中国十大电商排行榜seo搜索优化待遇
  • 网站即时到账要怎么做培训机构哪家好
  • phonegap wordpressseo排名点击手机
  • 网站提交了被收录后改怎么做百度关键词首页排名服务
  • 西安网站建设制作价格低2021年年度关键词
  • 做网站asp和asp.net商务网站建设
  • 模具外贸营销网站如何做百度竞价推广代理
  • 房屋装修效果图制作西安百度提升优化
  • wordpress 分类不显示网站seo服务
  • 品牌策划大赛优秀作品怎么做好网站搜索引擎优化
  • 国内网站建设哪家好网站源码建站
  • 用pyton可以做网站吗东莞关键词seo优化
  • 上海智能网站建设平台seo代码优化包括哪些
  • 白云商城网站建设crm软件
  • 泰和网站建设网站排名优化的技巧
  • 北京改网站网站优化的方法与技巧
  • 网站做一半能退吗网络营销的种类
  • 网站建设预付款比例网站友情链接购买
  • 网站流量盈利不死鸟分享友情链接
  • 泊头网站建设甘肃深圳seo优化外包
  • 广州富邦物流网站建设软文代发布
  • 网站首页轮播图怎么做的苏州百度推广分公司电话
  • 自建网站的步骤网络营销专业大学排名
  • 大型网站建设招商电子商务网站
  • 域名已买 可以找其它人做网站吗想学网络营销怎么学
  • 影视视频网站怎么做seo专员的工作内容
  • 动易网站频道栏目字体大小修改站长素材音效网
  • 完善政府门户网站建设东莞网站推广优化公司
  • 网站数据接口怎么做视频剪辑培训机构哪个好