为什么百度搜出来的网站只有网址没有网站名和网页摘要.,做播放器电影网站需要多少钱6,养生网站模板,网站如何做cc防护目录 1.前言
2.正文
2.1约束类型
2.2NULL约束
2.3UNIQUE约束
2.4DEFAULT约束
2.5PRIMARY KEY主键约束
2.6FOREIGN KEY外键约束
2.7CHECK约束
3.小结 1.前言
哈喽大家好啊#xff0c;今儿来继续给大家分享最近学习的MySQL和约束相关的知识点#xff0c;希望大家一起… 目录 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去查看 我们可以看到在上面一栏的约束中id的NULL值被设置为了NO意为无默认值让我们插入数据试一下效果
INSERT INTO student values (1,jerry);
INSERT INTO student values (NULL,TOM);
运行结果如下 提示信息告诉我们id那个元素必须设置不为空。 由此观之确实是只有一个元素插入成功。
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)
);
先按照语法创建俩个表
接下来插入数据验证一下 我们可以发现当有相同的值时就没有办法正常插入 整条语句都没有插入成功同理多列一样没有办法成功但有下面这一种情况 组合类型中有一个重复有一个不同那么结果还是能插入成功的。
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);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 会自动递增保证每条记录的唯一性。 如果我们这样插入
INSERT INTO stu (name) VALUES (Alice), (Bob), (Charlie);没有为id赋初值结果发现仍能正常插入并仍有递增的功能 2.6FOREIGN KEY外键约束
FOREIGN KEY 外键约束用于在两个表之间建立关系。外键用于引用另一个表的 PRIMARY KEY 或 UNIQUE 列从而保证数据的引用完整性。通过外键可以确保某个表中的值必须在另一个表中存在从而实现数据的关联性。
特点如下 外键是用来在两个表之间建立链接的字段。外键约束确保外键列的值在主表中必须存在。外键可以防止无效数据被插入到表中确保数据一致性。 先创建父表
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 列是一个外键让我们查看一下表属性 此时表中存在外键关系。
INSERT INTO departments (id, name) VALUES (1, HR), (2, Engineering);
INSERT INTO employees (id1, name2, department_id) VALUES (101, Alice, 1), (102, Bob, 2);
插入这俩行代码检验一下 可以看到效果已经显现。
外键的好处是可以通过外键确保数据的完整性和关系的正确性。
2.7CHECK约束
CHECK 约束用于限制表中列的数据值以确保数据符合特定条件。它在数据插入或更新时验证数据是否满足特定的规则从而保证数据的有效性和一致性。
特点如下 CHECK 约束可以应用于单个列或多个列。它通过表达式来定义表达式的值为 TRUE 表示满足条件否则不满足。任何不满足 CHECK 约束的插入或更新操作都会被拒绝。 CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT CHECK (age 18)
);在上面这个表中为数据赋年龄时只能给18一旦不满足条件就报错。
3.小结
今天的分享到这里就结束了喜欢的小伙伴点点赞点点关注你的支持就是对我最大的鼓励大家加油