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

MySQL数据库(数据库约束)

目录

数据库约束

数据库约束的类型: 

null约束 : 

unique约束(唯一约束): 

default约束(默认值约束):  

primary key约束(主键约束): 

foreign key约束(外键约束): 


数据库约束

数据库约束的类型: 

not null- 指示某列不能存储 null值。
unique- 保证某列的每行必须有唯一的值。
default - 规定没有给列赋值时的默认值。
primary key - not null 和 unique 的结合。确保某列(或两个列多个列的结合)有唯一标
识,有助于更容易更快速地找到表中的一个特定的记录。
foreign key - 保证一个表中的数据匹配另一个表中的值的参照完整性

null约束 : 

创建表时,可以指定某列不为空

 drop table if exists student;create table student (id int not null,sn int,name varchar(20),qq_mail varchar(20));

unique约束(唯一约束): 

指定sn列为唯一的、不重复的:

 drop table if exists student;create table student (id int,sn int unique,name varchar(20),qq_mail varchar(20));

 default约束(默认值约束):  

指定插入数据时,name列为空,默认值无名氏:

 drop table if exists student;create table student (id int,sn int ,name varchar(20) default '无名氏',qq_mail varchar(20));

primary key约束(主键约束): 

指定id列为主键:

drop table if exists student;
create table student (id int primary key,sn int ,name varchar(20),qq_mail varchar(20));


对于整数类型的主键,常配搭自增长auto_increment来使用。插入数据对应字段不给值时,使用最大值+1。

drop table if exists student;
create table student (id int primary key auto_increment,sn int ,name varchar(20),qq_mail varchar(20));
desc student;
insert into student values(1,1,'张三','********@qq.com');
insert into student (sn,name,qq_mail)values(2,'李四','********@qq.com');
select *from student;

foreign key约束(外键约束): 

外键用于关联其他表的主键或唯一键,语法:
语法形式:

foreign key(字段名) references 主表(列)
create table class (id int primary key,name varchar(20));create table student(id int primary key,name varchar(20),class_id int,foreign key(class_id)references class(id));

这样就使得student和class产生了联系。而且在插入数据的时候,只能插入符合外键约束的数据:

insert into class values(1,'java1班');
insert into class values(2,'java2班');
select *from class;

class中的数据: 

 insert into student values(1,'张三',2);insert into student values(2,'李四',1);select *from student;

student中的数据:

也就是说张三class_id为2,也就是java1班,李四就是java2班的。这是我们插入一条在class中不存在的id:

 insert into student values (3,'王五',100);

就会出现报错了,无法插入,这就体现了外键的约束。

还要注意的一点就是,外键约束约束的其实是双方,(我们可以把class看成主(父)表,student看成子表) ,除了上述关系外,如果我们想删除父表,也必须删除子表,否则无法删除:

drop table class;

 因为约束的存在所以无法删除。要想删除就要先把子表删除。

相关文章:

MySQL数据库(数据库约束)

目录 数据库约束 数据库约束的类型: null约束 : unique约束(唯一约束): default约束(默认值约束): primary key约束(主键约束): for…...

Hive的安装与配置

一、配置Hadoop环境先看看伪分布式下的集群环境有没有错误的情况:输入命令:start-all.sh jps查看伪分布式的所有进程是否完善二、解压并配置HiveHive压缩包→ https://pan.baidu.com/s/1eOF_ICZV8rV-CEh3nX-7Xw 提取码: m31e 复制这段内容后打开百度网盘…...

关于医院医用医疗隔离电源系统应用案例的分析探讨

【摘要】:介绍该三级医院采用安科瑞医用隔离电源柜,使用落地式安装方式,从而实现将TN系统转化为IT系统,同时监测系统绝缘情况。 【关键词】医用隔离电源柜;IT系统;绝缘情况;中西医结合医院&…...

【LeetCode】剑指 Offer 07. 重建二叉树 p62 -- Java Version

题目链接:https://leetcode.cn/problems/zhong-jian-er-cha-shu-lcof/ 1. 题目介绍(07. 重建二叉树) 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的…...

ERROR 1114 (HY000): The table ‘tt2‘ is full

insert 操作时提示is full 问题原因 rootlocalhost 11:55:41 [t]>show table status from t like ‘tt2’ \G ; *************************** 1. row *************************** Name: tt2 Engine: MEMORY Version: 10 Row_format: Fixed Rows: 7056 Avg_row_length: 944…...

考了PMP证后工资大概是多少 ?(含pmp资料)

这个岗位的不同还有每个公司的薪资也是不一样的,具体的数字肯定是没有的,但大概的比例还是有的,据PMI调查,在获得PMP证书的人当中,在PMP认证一年后,年薪有所增长的比例为66%,上涨幅度主要集中在…...

基于国产龙芯 CPU 的气井工业网关研究与设计(一)

当前,我国气田的自动化控制程度还未完全普及,并且与世界已普及的气井站的自 动化程度也存在一定的差距。而在天然气资源相对丰富的国家,开采过程中设备研发资 金投入较大,研发周期较长,更新了一代又一代的自动化开采系…...

40/365 javascript 数据类型

1.数据类型 number类型:整数,小数都属于这一类,不具体区分 字符串:hello, "hello" 布尔类型:true,false 逻辑运算符: && || ! 比较运算符: : 类型不一致&#x…...

后勤管理系统—服务台管理功能

数图互通是一家IT类技术型软件科技公司,专业的不动产、工作场所、空间、固定资产、设备家具、设施运维及可持续性管理解决方案软件供应商。 一、后勤管理系统服务台管理功能包含: 1、专业自动化、集中管理的自助服务助理,随时响应服务请求。…...

Spring Boot 是什么,应该如何学习,有哪些优缺点

1、Spring Boot 是什么? Spring Boot是一个基于Spring框架的开源项目,它简化了Spring应用程序的开发过程,提供了一种快速、便捷、可扩展的方式来构建Spring应用程序。 Spring Boot通过自动化配置机制简化了Spring应用程序的配置过程&#x…...

使用yolov5和强化学习训练一个AI智能欢乐斗地主(一)

这里写自定义目录标题项目介绍项目过程介绍训练yolov5目标检测斗地主收集数据集yolov5调参项目介绍 你好! 欢迎阅读我的文章,本章将介绍,如何使用yolov5和强化学习训练一个AI斗地主,本项目将分为三个部分,其中包含&am…...

C++ 浅谈之 AVL 树和红黑树

C 浅谈之 AVL 树和红黑树 HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 &#x1f3…...

【Kotlin】Kotlin函数那么多,你会几个?

目录标准函数letrunwithapplyalsotakeIftakeUnlessrepeat小结作用域函数的区别作用域函数使用场景简化函数尾递归函数(tailrec)扩展函数高阶函数内联函数(inline)inlinenoinlinecrossinline匿名函数标准函数 Kotlin标准库包含几个…...

饲养员喂养动物-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-2】饲养员喂养动物 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例目标】 案例描述 饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如&…...

数据分析:消费者数据分析

数据分析:消费者数据分析 作者:AOAIYI 创作不易,如果觉得文章不错或能帮助到你学习,记得点赞收藏评论一下哦 文章目录数据分析:消费者数据分析一、前言二、数据准备三、数据预处理四、个体消费者分析五、用户消费行为总…...

Transformer论文阅读:ViT算法笔记

标题:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 会议:ICLR2021 论文地址:https://openreview.net/forum?idYicbFdNTTy 文章目录Abstract1 Introduction2 Related Work3 Method3.1 Vision Transformer3.2…...

Android基础练习解答【2】

文章目录一 填空题二 判断题三 选择题四 简答题一 填空题 1.除了开启开发者选项之外,还需打开手机上的 usb调试 开关,然后才能在手机上调试App。 2.App开发的两大技术路线包括 _原生开发_和混合开发。 3.App工程的编译…...

k8s 搭建

需求:搭建k8s 为后续自动部署做准备进程:安装至少两个ubuntu18.04系统(一个master 一到多个 node)每个系统上都要装上docker 和 kubernetes安装dockersudo su apt-get update#安装相关插件 apt-get install apt-transport-https c…...

安全运维之mysql基线检查

版本加固 选择稳定版本并及时更新、打补丁。 稳定版本:发行6-12个月以内的偶数版本。 检查方法: 使用sql语句:select version(); 检查结果: 存在问题:当前数据库版本较老需要更新 解决方案:前往http://www.mysql…...

跨境电商卖家敦煌、雅虎、乐天、亚马逊测评自养号的重要性!

作为亚马逊、敦煌、乐天、雅虎等跨境的卖家,这两年以来,面对流量越来越贵的现实,卖家需要更加珍惜每次访问listing页面的流量,把转化做好,把流量尽可能转化为更多的订单。 提升转化率的技巧 提升产品转化率&#xff0…...

Python 之 Matplotlib xticks 的再次说明、图形样式和子图

文章目录一. 改变 x 轴显示内容 xticks 方法再次说明1. x 轴是数值型数据2. 将 x 轴更改为字符串3. 总结二. 其他元素可视性1. 显示网格:plt.grid()2. plt.gca( ) 对坐标轴的操作三. plt.rcParams 设置画图的分辨率,大小等信息四. 图表的样式参数设置1. …...

3.InfluxDB WEB使用

结合telegraf做指标数据收集 点击 Load Data -> Telegraf 配置界面 influxDB支持在WEB-UI中生成配置文件 然后利用telegraf通过远程URL请求的方式进行获取 点击CREATE CONFIGURATION 创建telegraf配置文件 选择Bucket InfluxDB提供了很多配置好的监控模板供用户选择 可以…...

git冲突合并

一、版本说明 dev:本地仓库中的dev分支 master:本地仓库中的master分支 remotes/origin/master和origin/master:都是远程仓库上的master分支 二、一个解决冲突的常规流程 1、前提条件:不能在master分支上修改任何文件。master分支…...

项目自动化构建工具make/Makefile

目录 make/Makefile概念和关系 make/Makefie的使用 一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重…...

双目客流统计方案的应用原理

双目客流统计客流摄像头采用立体视觉技术实现高度统计功能。基于视差原理。利用双镜头摄取的两幅图像的视差,构建三维场景,在检测到运动目标后。通过计算图像对应点间的位置偏差。获取目标的三维信息,在深度图像中对目标的检测与追踪&#xf…...

python魔术方法(二)

__getattr__() class A:def __getattr__(self,name):print(f"getting {name}")raise AttributeErroro A() print(o.test)程序调用一个对象的属性,当这个属性不存的时候希望程序做些什么,这里我们打印希望的属性,并且抛出异常 __…...

cmd for命令笔记

语法 help for输出如下: 对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 (set) 指定一个或一组文件。可以使用通配符。 command 指定对每个文件执行的命令。 c…...

4.1 Filter-policy

1. 实验目的 熟悉Filter-policy的应用场景掌握Filter-policy的配置方法2. 实验拓扑 Filter-policy实验拓扑如图4-5所示: 图4-5:Filter-policy 3. 实验步骤 (1) 网络连通性 R1的配置 <Huawei>system-vi…...

day15_常用类

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、代码块[了解] 三、API 四、Object 五、包装类 六、数学和随机 零、 复习昨日 抽象接口修饰符abstractinterface是不是类类接口属性正常属性没…...

【网络原理5】IP协议篇

目录 IP协议报头 4位版本号 4位首部长度 8位服务类型(TOS) 16位总长度 IP拆包 16位标识、3位标志、13位片偏移​编辑 8位生存时间(TTL) 8位协议 16位首部校验和 网络地址管理 32位源ip&32位目的ip 方案一:动态分配ip地址 方案2:NAT网络地址转换(使用一个ip代…...

网站建设咨询哪些方面/淘宝指数在线查询

跨年龄数据显神威&#xff01;人脸识别让“天下无拐” 前言&#xff1a; 研究人员对0岁-18岁的人脸的成长变化进行模拟建模&#xff0c;采用深度神经网络算法来学习这些人脸在成长过程中的复杂变化。经过成千上万次的模型训练&#xff0c;终于训练出了一个可以进行跨年龄人脸识…...

wordpress页面设计插件/精准客户截流软件

上次&#xff0c;有位朋友私信我&#xff0c;需求是想要一款低代码快速开发平台用来做系统项目&#xff0c;要求上手快、操作简单、且支持ERP或进销存等项目系统的快速开发。那位私信的朋友赶紧出来冒个头哈&#xff0c;我现在帮你找到了~ 那这里&#xff0c;本人推荐一个企业…...

长沙做网站建设公司排名/网站服务器查询

简介lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下&#xff0c;任何事物都以文件的形式存在&#xff0c;通过文件不仅仅可以访问常规数据&#xff0c;还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等&#xff0…...

深圳公司注册代理公司排名/关键词优化排名费用

延时 setTimeout(code,millisec):用于设置在指定的毫秒数后调用函数【设定延时】 var timeOutIdsetTimeout(function(){ alert(5秒后弹框); },5000); clearTimeout(timeOutId):用于取消由setTimeout函数设定的延时 周期调用(timer) setInterval(code,millisec):用于设置在指定…...

制作网站的商家/互联网最赚钱的行业

先在StringLibrary类中定义一个静态方法&#xff0c;如下&#xff1a; public static class StringLibrary{      //第一个参数指定该方法作用于哪个类型&#xff0c;并且该参数以 this 修饰符为前缀,当前作用于String类型&#xff0c;也可作用于自定义类型public static…...

佛山做网站哪家公司最好/seo服务外包价格

1. Edit Viewer 用于将EditLog转换成各种可读文件的工具。 2. Image Viewer 用于将FsImage转换成各种可读文件的工具。 3. Quotas 分NameQuotas和SpaceQuotas两种。前者用于限制文件名及路径名的长度&#xff0c;后者用于限制某文件夹所能容纳的文件的大小。 4. HFTP 通过HTTP只…...