目录
- 1.约束概念和分类
- 2.五大约束的添加和删除
- 2.1添加约束的六种方法
- 2.2三种删除约束的方式
- 2.3五大约束分别对应的添加删除方式(序号对应2.1和2.2)
- 2.4对于创建约束的总结
- 2.5对于主键和唯一的区别
- 3.自增长列
- 3.1概念
- 3.2在创建表的时候添加主键约束,并且完成主键自增长的例子
- 3.3自增长的添加和删除
- 3.4设置自增长步长
1.约束概念和分类
1.1约束的概念:

对表中的数据进行限定,保证数据的正确性,有效性,完整性
1.2约束分类
- 1.主键约束(primary key):保证该字段具有非空且唯一性,一张表中只能有一个主键,主键是表中字段的唯一标识
- 2.非空约束(not null):保证字段不能为空
- 3.唯一约束(unique):保证该字段具有唯一性但是可以为null
- 4.外键约束(foreign key):在一个表中存在的另一个表的主键或唯一键称此表的外键。
- 5.默认约束(default+默认值):用于保证该字段有默认值(用引号引起来)
2.五大约束的添加和删除
2.1添加约束的六种方法
1.在创建表的时候添加非空约束(以列级约束添加)
create table + 表名(
列名 数据类型 + 约束名
)
2.在创建表的时候添加非空约束(以表级约束添加)
create table 表名(
列名 数据类型,
...
列名 数据类型,
(constraint +别名(就是随便为自己添加的约束起一个名字)) 约束名(对应字段名)
)
3.修改列名的时候
alter table + 表名 + change (column) + 旧列名 新列名 新列名的类型 + 约束
4.修改列的数据类型的时候
alter table + 表名 + modify + (column) + 列名 列类型 约束
5.在添加新列的时候可以添加约束
alter table + 表名 + add + (column) + 新列名 + 新列名的类型 + 约束
6.外键特有
alter table + 表名 + add constraint 外键名称(自己随便为外键取得名字) + foreign key(外键字段名) references 主表名称(主表要关联的字段)
2.2三种删除约束的方式
1.修改列名的时候不加约束
alter table + 表名 + change (column) + 旧列名 新列名 新列名的类型
2.修改列的数据类型的时候不加约束
alter table + 表名 + modify + (column) + 列名 列类型
3.运用drop特定删除约束
alter table + 表名 + drop index/foreign key/primary key + 约束的名字
注:查看表中约束的名字:
show index from + 表名
2.3五大约束分别对应的添加删除方式(序号对应2.1和2.2)
1.非空约束(not null)
- 对应的添加方式:1 3 4 5
- 对应的删除方式:1 2
2.唯一约束(unique)
- 对应的添加方式:1 2 3 4 5
- 对应的删除方式:1 2 3(对应第3种的index选项)
3.默认约束(default)
- 对应的添加方式:1 3 4 5
- 对应的删除方式:1 2
4.主键(primary key)
- 对应的添加方式:1 2 3 4 5
- 对应的删除方式:3(对应第3种的primary key选项注意后边不加约束的名字了,因为一个表里只能有一个主键)
5.外键(foreign key)
- 对应的添加方式:2 6
- 对应的删除方式:3(对应第3种的foreign key选项)
外键单独拿出来讲
我们先看一个员工表(字段分别是员工编号,姓名,年龄,所属部门,部门所在地):
我们可以发现有冗余的部分,就是研发部对应广州,销售部对应深圳不用写那么多遍,其实可以把他们分成两张表来防止冗余的部分,第一张表存储员工的信息,另一张存储部门信息
表1(员工表employee):
表2(部门表department):
这里两个表的id都是主键
但是这里有一个问题,就是,我们可以随便删除部门表的某一行,就比如id=1的那一行,一旦删除,那么表1里的dep_id=1的员工就查不到他们的部门信息了,所以就可以用外键来解决这个问题
我们可以在创建表的时候就指定dep_id是外键,关联department的主键id
语句格式(这里虽然是第2种方法也就是以表级约束添加外键但是语法上有不同):
create table 表名(
列名 数据类型,
...
列名 数据类型,
(constraint + 别名(就是随便为自己添加的约束起一个名字)) + foreign key(字段名) + references + 主表(主表对应字段)
)
对于本例子就可以这么写:
create table employee(
id int primary key,
sname varchar(5),
age int,
dep_id int,
constraint aaa foreign key(dep_id) references department(id)
)
加上外键后我们就不能删除department表里边的任意一行,而且,我们也不能在employee里边添加新的员工信息的时候把dep_id填写成除1,2之外的任何数字
2.4对于创建约束的总结
在创建表的时候添加列级约束只支持:默认,非空,主键,唯一
在添加表级约束只支持:主键,唯一,外键
2.5对于主键和唯一的区别
主键至多一个唯一可以有多个
允许两个列组成一个主键和一个唯一
3.自增长列
3.1概念
如果某一列是数值类型,使用 auto_increment可以来完成值的自动增长(一般都是和主键一起用)
3.2在创建表的时候添加主键约束,并且完成主键自增长的例子
格式:
create table 表名(
列名 数据类型 primary key + auto_increment
)
举个例子:
我们创建一个含学号姓名的student表,并且按照学号自增长
创建语句:
create table student(
id int primary key auto_increment,
sname char(4)
)
如果此时我们表里有一个数据;
当我们再次插入数据的时候不给学号即
insert into student value(null,“李四”)
再次查看表的时候自动给我们按自增长补了学号:
3.3自增长的添加和删除
1.添加(上述在创建的时候添加是一种)
alter table + 表名 + modify column + 列名 类型 约束 + AUTO_INCREMENT
2.删除
alter table + 表名 + modify column 列名 类型
3.4设置自增长步长
自增长起始值为1,步长起始值为1
起始值不能更改,步长可以更改
用show VARIABLES LIKE “%auto_increment%”
查看对应的步常代表的名字然后用set 步长代表名字=要设置的步长
以上就是MySQL学习之数据库表五大约束详解小白篇的详细内容,更多关于MySQl五大约束的资料请关注其它相关文章!
相关推荐:
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
SEO百度优化:让你的品牌在搜索引擎中脱颖而出,日照网站推广策划
二SEO是什么,h二seo三是什么 ,ai手术机
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
seo点击工具,seo排名点击软件推荐 ,ai狂躁
未来工作方式!AI在线工具让效率倍增,工作变轻松
ChatGPT全球宕机:人工智能的崩塌与未来的挑战,中国ai和美国ai教父
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
AI免费写文章生成器高效写作新革命
SEO费用如何根据预算选择最合适的SEO服务,营销类推广网站
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
pbootcms前端翻译插件-轻松实现网站多语言支持,拓展全球市场,st ai绘画
AI免费文章生成器:轻松创作高质量内容的终极工具
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
ChatGPT破解:让AI打破语言与思维的边界,ai模板vis
AI工具,让工作效率翻倍:AI工具教程全面解析
SEO运营是什么职业,seo运营工程师招聘 ,把ai图层改横幅
ChatGPTApp怎么调大字体?提升阅读体验,让文字更清晰,推荐ai音频
什么是seo模型,seo模块总结 ,ai技术授课
SEO领站-从零到一打造成功网站排名的秘密,轻淘客seo怎设置
ChatGPT画布打不开?如何解决这一常见问题?,Ai怎么储存为Ai格式在桌面
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
Chat免费,让沟通无界限,尽享智能对话时代,ai没办法置顶
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
如何识别文章是否由AI写作:技巧与方法解析
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
SEO搜外:全球搜索引擎优化的秘密武器,如何选择网站建设类型呢
GPT在智能聊天机器人中的作用:重塑沟通体验,开创智能未来,百万级ai
seo类文章是什么,seo技术文章 ,ai3.5-ai聊天
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
SEO优化公司一般怎么优化?揭秘专业SEO服务的操作流程,人工智能ai写作软件 哪一个好
SEO地址优化的秘诀:提升网站排名与流量的关键,临沂如何优化网站关键词
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
seo需要什么能力,seo需要哪些技术 ,ai长条弯曲
《“查看更多”背后的秘密:让你的人生更加丰富多彩!》,宁安公司网站建设
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
《SEO教材:打造网站流量的核心利器,教你轻松SEO优化技巧》,咖啡网站建设总结文案
ChatGPT出现报错503?这些解决办法你必须知道!,粉墨ai说唱
seo稿件是什么意思,seo文章写作要求 ,ai写作未来展望和展望
seo要懂些什么软件,seo常用软件 ,ai写作网站网址大全
用AI写文章:效率与创意的完美结合
ChatGPT4账号共享-让AI助力你的学习与工作,轻松提升效率,ai巨无霸
AI免费生成文章的软件:轻松创作的秘密武器
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文