MySQL数据库 约束类型

5 篇文章 0 订阅
订阅专栏

Mysql数据库的约束类型有物种:主键约束(Primary Key),唯一性约束(Unique),非空约束(Not Null),默认约束(Default),外键约束(Foreign Key)。

一、主键约束 primary key

主键约束 primary key:它能够唯一确定一张表中的一条记录,通过向某个字段添加约束,可以使得该字段不重复且不为空。

primary key:

创建一个有主键约束的数据表:

 create table user1(
     id int primary key,
     name varchar(20)
    );

一个主键只能有一条记录,且主键不能为 NULL。

insert into user values(1,'spider');
insert into user values(1,'spider'); #不能重复插入主键为 1 的记录,会报错
insert into user values(2,'spider');
select * from user;
insert into user values(NULL,'spider'); #不能插入主键为 NULL 的记录,会报错

联合主键:

创建一个联合主键为(id,name)的数据表:

create table user2(
    id int,
    name varchar(20),
    password varchar(20),
    primary key(id,name)
);

 

联合的主键值加起来不重复就可以。 

insert into user2 values(1,'spider','123');
insert into user2 values(2,'spider','123');

自增约束 auto_increment:

create table user3(
    id int primary key auto_increment,
    name varchar(20)
);

 自增约束可以插入重复的数据记录,数据表会自动更新 id 值:

insert into user3 (name) values('spider');
insert into user3 (name) values('spider'); 

如何添加和删除主键约束?

先创建一个没有主键约束的数据表:

create table user4(
    id int,
    name varchar(20)
);

 通过修改数据表的结构的方式,添加主键:

alter table user4 add primary key(id);

 删除主键:

alter table user4 drop primary key;

通过使用 modify 修改字段的当时,添加主键:

alter table user4 modify id int primary key;

二、唯一约束 unique

唯一约束 unique:约束修饰的字段的值不可以重复。

创建一个有唯一约束的数据表:

法一:

create table user5(
    id int,
    name varchar(20)
);

 给 name 添加一个唯一约束:

alter table user5 add unique(name);

法二:

create table user6(
    id int,
    name varchar(10),
    unique(name)
);

#还可以添加两个约束 unique(id,name) 这样 id 和 name 加在一起不能重复,类似联合主键

 

法三:

create table user7(
    id int,
    name varchar(20) unique
);

 

 给数据表 user5 添加一条记录:

 insert into user5 values(1,'batman');

重复添加 name 为 batman 的记录会报错:

 

 如何删除唯一约束?

alter table user7 drop index name;

 通过 modify 的方式添加:

alter table user7 modify name varchar(20) unique;

三、非空约束 not_null

非空约束 not_null:修饰的字段不能为空 NULL

create table user9(
    id int,
    name varchar(20) not null
);

只插入 id 就会报错:

insert into user9 (id) values(1);

 

 id 可以为空:

insert into user9 values(1,'batman');
insert into user9 (name) values('batman');

 

四、默认约束 default 

 默认约束 default :当插入字段值的时候,没有传值,就使用默认值

创建 age 的默认值为10:

create table user10(
    id int,
    name varchar(20),
    age int default 10
);

 插入数据时没有写 age 值,会默认为10:

insert into user10 (id,name) values(1,'batman');

 插入数据时写了 age 值,就不会使用默认值:

 

 五、外键约束 foreign_key

外键约束 foreign_key:涉及到两个表:主表、副表

注意:主表中没有的数据值,在副表中是不可以使用的。

           主表中的记录被副表引用,是不可以被删除的

创建主表、副表: 

#班级表
create table classes(
    id int primary key,
    name varchar(20)
);

#学生表
create table students(
    id int primary key,
    name varchar(20),
    class_id int,
    foreign key(class_id) references classes(id)
);

 

 给班级表插入数据:

insert into classes values(1,'一班');
insert into classes values(2,'二班');
insert into classes values(3,'三班');
insert into classes values(4,'四班');

给学生表插入数据:

insert into students values(100,'batman',1);
insert into students values(101,'batman',2);
insert into students values(102,'batman',3);
insert into students values(103,'batman',4);

 

 班级表里面没有5班,所以插入不存在的5班失败:

 主表(班级表)中的的 id=4 被副表(学生表)引用,所以删除会报错:

delete from classes where id =4;

MySQL约束类型及举例介绍
01-19
约束  约束保证数据的完整性和一致性 约束分为表级约束和列级约束 约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束) 1.主键约束 PRIMARY KEY 每张数据表只能存在一个主键 主键保证记录的唯一性,主键的值不重复 主键自动为 NOT NULL 举例,创建一张student表,将学号设置为主键创建完表之后,通过SHWO COLUMNS FROM student查看表结构 CREATE TABLE student( id int PRIM
mysql数据库索引类型
11-07
MySQL数据库索引类型 MySQL数据库索引是指在关系型数据库管理系统中,用于提高查询速度和优化数据库性能的一种机制。索引是对数据库表中某一列或多列的值进行排序和组织,以便快速定位和检索数据。 一、MySQL...
MySQL 约束类型
qq_24094887的博客
07-20 248
转自:https://www.cnblogs.com/jennyyin/p/7895400.html
MySQL——数据库和表的基本操作(四)表的约束(四)默认约束
最新发布
PAP
08-06 425
MySQL——表的约束(四)默认约束
MySQL-约束类型
Carry的博客
07-20 268
约束类型约束类型主键约束(Primary key)唯一约束(unique)非空约束(not null) 约束类型 主键约束(Primary key) 唯一约束(unique) 非空约束(not null) 默认约束(default) 外键约束 主键约束(Primary key) 主键约束 唯一非空 后面可以加自增 auto_increment 主键: 表示数据唯一性的字段称为主键 测试:创建学生表,学号为主键 create table student (stuno char(11) primary
Mysql数据库约束类型
Cat God 007的博客
04-17 1506
Mysql数据库约束类型有:主键约束Primary Key),外键约束(Foreign Key),非空约束(Not Null),唯一性约束(Unique),默认约束(Default)。 MySQL关键字 含义 NULL 数据列可包含NUL值 NOT NULL 数据列不允许包含NULL值 DEFAULT 默认值 PRIMARY KEY 主键 AUTO_INCREMENT 自动递增,适用于整数类型 UNSIGNED 无符号 CHARACTER SET name 指定一个字
mysql约束类型_MySQL约束类型及举例介绍
weixin_36322704的博客
02-10 282
约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括:NOT NULL (非空约束),PRIMARY KEY(主键约束),UNIQUE KEY(唯一约束),DEFAULT(默认约束),FOREIGN(外键约束)1.主键约束PRIMARY KEY每张数据表只能存在一个主键主键保证记录的唯一性,主键的值不重复主键自动为 NOT NULL举例,创建一张student表,将学号设置为主键...
mysql数据库字段约束
04-19
MySQL 数据库字段约束 MySQL 数据库字段约束是指在设计和创建数据库时,为了保证数据的正确性、完整性和有效性所设置的规则和限制。这些规则和限制可以确保数据的准确性和一致性,避免数据错误和不一致的情况。 ...
国家开放大学 MySQL数据库应用 实验训练1 在MySQL中创建数据库和表
06-05
"国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程。 MySQL 是一种关系型数据库管理系统,广泛应用于各种领域。为提高学生的实践能力,...
MySQL数据库PDF文档
10-20
本文档主要介绍了MySQL数据库的基本概念、数据类型、SQL语言、约束条件、查询语言、聚合函数、子查询和多表查询等知识点。 数据库基础概念 在介绍MySQL数据库之前,首先需要了解数据库的基本概念。数据库是一个...
MySQL数据库MySQL数据库.ppt
06-03
MySQL数据库概述】 MySQL是一种流行的开源关系型数据库管理系统(RDBMS),由Oracle公司维护。它的名字由创始人Michael Widenius的女儿My和SQL(Structured Query Language)组合而成。MySQL以其高效、可靠和易于...
MySQL数据库约束
csdnDDdxm的博客
09-03 414
MySQL数据库约束 非空约束(NOT NULL) 1.含义:加上非空约束的字段,在添加数据时,该字段不能写入null值 2.基本语法: create table 表名称( 字段 数据类型 NOT NULL, ... ); 3.创建表完后,添加非空约束 ALTER TABLE 表名称 MODIFY 字段 数据类型 NOT NULL; 4.删除字段的非空...
mysql数据库中的各种约束_MySQL数据库——各种约束的使用
weixin_39769984的博客
02-18 245
数据完整性作用:保证用户输入的数据保存到数据库中是正确的。确保数据的完整性 = 在创建表时给表中添加约束完整性的分类:实体完整性:主键约束(primary key)、唯一约束(unique) 、自动增长列(auto_increment)域完整性:数据类型、非空约束(not null)、默认值约束(default)引用完整性 :外键约束:FOREIGN KEY一、 实体完整性1.1 主键约束(pri...
MySql数据库数据类型约束介绍
true100的专栏
09-14 3756
1,MySql中数据类型介绍 整型及浮点型 数据类型 存储范围 字节 TINYINT 有符号值:-2^到2^7-1   无符号值:0到2^8-1  2 SMALLINT 有符号值:-2^15到2^15-1   无符号值:0到2^16-1  2
MySQL基础】七种约束
qq_38149054的博客
05-28 5406
mysql 约束
MySQL数据库中的五大约束
lightserver.cn
09-24 5178
文章目录外键约束 (`Foreign Key Counstraint`)1、设置外键的注意事项:2、设置外键的语法:3、外键约束的参照操作:二、主键约束(`Primay Key Coustraint`)1、主键的注意事项:主键默认非空,默认唯一性约束,只有主键可以设置自动增长(主键不一定自增,自增一定是主键)。2、设置主键的方式: 数据库中的五大约束包括: 1.主键约束(Primay Key C...
mysql约束的分类
兮动人
03-03 601
文章目录1. 约束(constraint)概述1.1 为什么需要约束1.2 什么是约束1.3 约束的分类 1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。从以下四个方面考虑: 实体完整性(Entity Int
全网最全:Mysql六种约束详解
怪咖@的博客
07-26 9750
约束是作用于表中字段上的规则,用于限制存储在表中的数据。保证数据库中数据的正确、有效性和完整性。分类约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。左侧的emp表是员工表,里面存储员工的基本信息,包含员工的ID、姓名、年龄、职位、薪资、入职日期、上级主管ID、部门ID,在员工的信息中存储的是部门的IDdept_id,而这个部门的ID是关联的部门表dept的主键id,那emp表的dept_id就是外键,关联的是另一张表的主键。...
sql使用小技巧之约束Constraints、NOT NULL、UNIQUE、PRIMARY KEY)简单了解下
luyaran的博客
09-06 6932
SQL 约束Constraints)主要用于用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 来看下建表的语法: CREATE TABLE table_name ( column_name1 data_type(size) constra...
MySQL数据库约束条件详解
"MySQL数据库基础教程,包括添加和修改约束条件,以及数据库产品流行度排名的最新情况。" 在数据库设计中,约束条件是确保数据完整性和一致性的关键元素。MySQL数据库支持多种类型约束,包括唯一性约束、主键约束...
写文章

热门文章

  • MySQL 8.0初步上手及创建新用户 4678
  • MySQL 8.0 创建删除数据库和表,以及增加删除数据记录 3075
  • MySQL数据库 约束类型 2654
  • 哈希法c++ 1532
  • 两数之和、三数之和、四数之和还不会写?看完此篇轻松掌握 1049

分类专栏

  • leetcode刷题总结 9篇
  • MySQL 5篇

最新评论

  • MySQL 8.0 创建删除数据库和表,以及增加删除数据记录

    collapsar...: 你这么漂亮,有男朋友吗

  • MySQL 8.0 创建删除数据库和表,以及增加删除数据记录

    m0_55742104: why the SYJ is the owner of FSY?

大家在看

  • 布草洗涤必备4张表-———未来之窗行业应用跨平台架构
  • 【深度学习】Transformer机器翻译模型,了解有关机器翻译的知识,seq2seq架构,掌握使用Transformer构建机器翻译模型的实现过程 576
  • 第二章 网页制作的排版方法 550
  • 许少辉加工中心《乡村振兴战略下传统村落文化旅游设计》南门方向辉少许
  • 学习STM32的定时器和中断 595

最新文章

  • 单调栈 及力扣常见题型
  • MySQL 数据表设计之 三大数据范式
  • 二叉树详解 及力扣常见题型
2022年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家邯郸专业玻璃钢雕塑吴江玻璃钢雕塑公司京东玻璃钢雕塑份真黄牛宜兴秋季商场美陈蒙自市玻璃钢雕塑供应菏泽泡沫玻璃钢彩绘雕塑少淑商场美陈怎么做迪庆玻璃钢雕塑生产制造宜春景观玻璃钢雕塑批发玻璃钢狸猫造型雕塑宿迁玻璃钢校园雕塑设计安宁市玻璃钢雕塑设计厂家海南哪家玻璃钢雕塑厂家好云浮商场美陈雕塑加盟玻璃钢雕塑厂家静安区进口玻璃钢雕塑张掖玻璃钢雕塑漆高要玻璃钢浮雕雕塑公司鹤壁玻璃钢彩绘雕塑定做武汉花朵玻璃钢仿铜雕塑通州玻璃钢花盆花器菏泽卡通玻璃钢雕塑生产厂家铁岭城市玻璃钢雕塑定制玻璃钢雕塑专业吗安阳哪里有玻璃钢彩绘雕塑珠海发光动物玻璃钢雕塑厂家电话甘南广场玻璃钢雕塑制作玻璃钢仿紫铜人物雕塑河北周年庆典商场美陈售价佛山玻璃钢透光雕塑厂家电话香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化