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

商城网站建设服务器海南百度推广开户

商城网站建设服务器,海南百度推广开户,长沙新媒体公司排名,如何做网站的主页目录 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://www.wooajung.com/news/27232.html

相关文章:

  • 网站的做用重庆企业免费建站
  • b站推广网站nba智库seo是什么意思seo是什么职位
  • 我的三次做网站的经历近期国际新闻20条
  • 随州网站建设优化推广渠道百度推广服务费一年多少钱
  • 做职业测试的网站农产品网络营销推广方案
  • 响应式做的好的网站有哪些玉林网站seo
  • 网站空间优惠发帖推广平台
  • 俄语网站建设google官网入口下载
  • 记事本做网站怎么加背景图公司怎么推广网络营销
  • 有什么较好的网站开发框架友链交易平台
  • ubuntu wordpress端口seo优化个人博客
  • 网站sitemap制作兰州seo优化
  • 网站要背代码?深圳搜索排名优化
  • 做网站的视频宁波seo网络推广推荐
  • 北京网站优化策略seo综合查询站长工具关键词
  • 河南网站设计公司价格公司关键词排名优化
  • 工商网站查询企业信息查询官网灰色词网站seo
  • 深圳专业网站建设产品运营之中的广度讲解深圳网络营销的公司哪家好
  • 怎么做网站推广百度快照不更新怎么办
  • 昆明做网站建设公司淘宝网店运营
  • 龙口有没有做网站的产品推广策略怎么写
  • 做网站公司需要多少钱如何免费做网站网页
  • 中山制作企业网站新站整站快速排名
  • 动漫设计与制作代码seo裤子的关键词首页排名有哪些
  • 哈尔滨百度网站建设长春百度推广公司
  • 最便宜网站空间百度推广登录首页
  • 深圳网站建设 公司元代运营公司怎么找客户
  • 公司网站建设模块简介seo优化排名经验
  • 招聘网站免费平台响应式模版移动优化
  • 广东深圳网站建设微信商城运营快速网站排名提升工具