网站建设差打不开,网站设置301解除移动屏蔽,建设银行网银盾不能打开网站,凡科网小程序制作教程概述、目的 概念#xff1a;约束是作用于表中字段上的规则#xff0c;用于限制存储在表中的数据。 目的#xff1a;保证数据库中数据的正确性、有效性和完整性。 分类#xff1a;
约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都…概述、目的 概念约束是作用于表中字段上的规则用于限制存储在表中的数据。 目的保证数据库中数据的正确性、有效性和完整性。 分类
约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一、不重复的UNIQUE主键约束主键是一行数据的唯一标识要求非空且唯一PRIMARY KEY默认约束保存数据时如果未指定该字段的值则采用默认值DEFAULT外键约束用来让两张表的数据之间建立连接保证数据的一致性和完整性FOREIGN KEY自动增加默认情况下该字段的值是从1开始自增的AUTO_ INCREMENT检查约束(8.0.16版本之后)保证字段值满足某一个条件CHECK注意约束是作用于表中字段上的可以在创建表/修改表的时候添加约束。 主键约束
字段名 数据类型 primary key;--基本语法#第一种方式
CREATE TABLE student(id int primary key,name varchar(50)
);--方式二
CREATE TABLE student(id int,name varchar(50),primary key(id)
);--联合主键
CREATE TABLE student(classid int,studentid int,name varchar(50),primary key(classidstudentid)
);约束演示 上面我们介绍了数据库中常见的约束以及约束涉及到的关键字那这些约束我们到底如何在创建表、修改表的时候来指定呢接下来我们就通过一个案例来演示一下。 案例需求 根据需求完成表结构的创建。需求如下 对应的建表语句为
CREATE TABLE tb_user(id int AUTO_INCREMENT PRIMARY KEY COMMENT ID唯一标识,name varchar(10) NOT NULL UNIQUE COMMENT 姓名 ,age int check (age 0 age 120) COMMENT 年龄 ,status char(1) default 1 COMMENT 状态,gender char(1) COMMENT 性别
);在为字段添加约束时我们只需要在字段之后加上约束的关键字即可需要关注其语法。我们执行上面的SQL把表结构创建完成然后接下来就可以通过一组数据进行测试从而验证一下约束是否可以生效。
insert into tb_user(name,age,status,gender) values (Tom1,19,1,男),
(Tom2,25,0,男);
insert into tb_user(name,age,status,gender) values (Tom3,19,1,男);
insert into tb_user(name,age,status,gender) values (null,19,1,男);
insert into tb_user(name,age,status,gender) values (Tom3,19,1,男);
insert into tb_user(name,age,status,gender) values (Tom4,80,1,男);
insert into tb_user(name,age,status,gender) values (Tom5,-1,1,男);
insert into tb_user(name,age,status,gender) values (Tom5,121,1,男);
insert into tb_user(name,age,gender) values (Tom5,120,男);上面我们是通过编写SQL语句的形式来完成约束的指定那加入我们是通过图形化界面来创建表结构时又该如何来指定约束呢 只需要在创建表的时候根据我们的需要选择对应的约束即可。
外键约束 外键用来让两张表的数据之间建立连接从而保证数据的一致性和完整性。 --方式一
CREATE TABLE 表名(
字段名 数据类型,
...
[CONSTRAINT] [外键名称] FOREIGN KEY (外键字段名) REFERENCES 主表 (主表列名)
);ALTER TABLE 从表名 ADD CONSTRAINT 外键名 FOREIGN KEY (从表外键字段) REFERENCES 主表 (主键字段);外键名常用命名方式
fk_从表名_从表外键字段外键 外键是指引用另一个表中的一列或多列被引用的列应该具有主键约束或唯一性约 束。外键用于建立和加强两个表数据之间的连接。为了更好地理解外键的定义及其作用我们来看如下两张表 CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,gender VARCHAR(10) DEFAULT 男
);CREATE TABLE score(scoreid INT PRIMARY KEY,studentid INT , scoreresult INT
);score表中的studentid学生编号表示成绩是属于哪个学生该值必须是student表中id列里的值。这种情况下学生表student被称为主表分数表score被称为从表。所以我们可利用外键FOREIGN KEY将score中的studentid与student表中id建立起联系代码如下
CREATE TABLE student(id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,gender VARCHAR(10) DEFAULT 男
);CREATE TABLE score(scoreid INT PRIMARY KEY,studentid INT , scoreresult INT,CONSTRAINT fk_score_studentid FOREIGN KEY (studentid) REFERENCES student(id)
);当然也可利用SQL语句设置外键代码如下
ALTER TABLE score ADD CONSTRAINT fk_score_studentid FOREIGN KEY(studentid) REFERENCES student(id);现在我们再来执行
show create table score;数据一致性 大家知道建立外键是为了保证数据的完整和统一性。但是如果主表中的数据被删除或修改从表中对应的数据该怎么办呢很明显从表中对应的数据也应该被删除否则数据库中会存在很多无意义的垃圾数据。 删除外键
alter table 从表名 drop foreign key 外键名外键约束小结
从表里的外键通常为主表的主键从表里外键的数据类型必须与主表中主键的数据类型一致主表发生变化时应注意主表与从表的数据一致性问题