Mysql(二) - 约束, 进阶查询

目录

一.约束

1.not null 

2.unique

3.default

4.primary key

5. foreign key

6.check

7. 综合使用

二.进阶查询

1.新增(插入查询的结果)

2.聚合查询

a.聚合函数

b.使用

3.分组查询

4.联合查询

a.内连接

b.外连接

c.自连接

d.子查询

5.合并查询

三.总结


一.约束

1.not null 

指定某列不能够存储空值.

2.unique

指定某列中每行的值不能够重复.

3.default

指定没有给某列赋值时的默认值

4.primary key

主键, not null 与 unique的结合体, 指定某列中每行的值非空且唯一.

通常在primary key后加 auto_increment, 表示自增操作.

5. foreign key

外键, 外键用于一张表中的字段关联另一张表的主键或者唯一键.

语法: foreign key (字段) references 表名(字段);

通过外键约束, 确保关系的正确性.

6.check

保证列中的值符合指定的条件.

7. 综合使用

创建一个班级表和学生表


二.进阶查询

1.新增(插入查询的结果)

insert into table_name1(目标表) 字段,... (select 字段 from table_name2(查询表));

2.聚合查询

a.聚合函数

count(参数) 统计某一列的行数

sum(参数 计算某一列的和

avg(参数) 计算某一列的平均值

max(参数) 计算某一列的最大值

min(参数) 计算某一列的最小值

round(数值, n) 表示保留数值的小数点后n位

b.使用

3.分组查询

select * from 表1, 表2 group by 字段, ... having (过滤条件);

having:跟在group by之后使用.

where: 在group by 之前使用

4.联合查询

a.内连接

select 表名.字段, ... from 表1, 表2 ...;

select 表明.字段, ... from [inner] 表1 join 表2 ...;

b.外连接

左连接

左表全部显示, 右表没有的内容为null

右连接

右表全部显示, 左表没有的内容为null

c.自连接

实现行与行的比较, 就是进行笛卡尔积.

select 字段, ... from 表1,  表1 where ...;

d.子查询

子查询也叫作嵌套查询, 就是将一条sql语句的查询结果当做另一条sql语句的查询条件.

select 字段, ... from table_name where (查询语句);

例如: 查询工资大于149号员工工资的员工信息

注意:子查询查询出来的结果是临时表.

5.合并查询

select 字段, ... from table_name union select 字段, ... from table_name;

union: 去掉结果集中的重复行.

union all: 不去掉结果集中的重复行.


三.总结

约束: not null, unique, default, primary key, foreign key, check

进阶查询: 新增, 聚合查询(使用聚合函数), 分组查询(group by), 联合查询(多个表), 合并查询.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot的招生宣传管理系统【附源码】

基于SpringBoot的招生宣传管理系统(源码L文说明文档) 目录 4 系统设计 4.1 系统概述 4.2系统功能结构设计 4.3数据库设计 4.3.1数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1管理员功能介绍 5.1.1管理员登录 …

Ubuntu22.04系统安装opencv步骤简述及问题解决方法

前言 opencv是一个功能强大、开源且跨平台的计算机视觉库,适用于多种编程语言和操作系统,能够帮助开发者构建各种视觉项目。其模块众多,提供了诸多功能,能够进行图像处理、视频处理等等。比如:Highgui模块提供图像用户…

Python 解析 JSON 数据

1、有如下 JSON 数据,存放在 data.json 文件: [{"id":1, "name": "小王", "gender": "male", "score": 96.8}, {"id":2, "name": "小婷", "gender&qu…

Python 课程12-Python 自动化应用

前言 Python 自动化应用 可以帮助开发者节省时间和精力,将重复性、手动操作变为自动化脚本。例如,Python 可以用于自动化处理文件、邮件、生成报表,甚至可以控制浏览器执行复杂的网页操作任务。借助 Python 的强大库和工具,可以轻…

python学习——对无人机影像有RGB转换到HSV

问题描述 最近需要对无人机影像中绿色植被信息进行提取,查看相关论文,发现用的比较多的就是HSV色彩转换方法,动手实践一下。 解决思路 #mermaid-svg-5ejGodIusPv6zFVS {font-family:"trebuchet ms",verdana,arial,sans-serif;fon…

浪潮信息首推3秒智能控温!告别服务器开机噪音

在当前的数据中心运维实践中,运维人员在部署服务器时常被“飞机起飞”般的开机噪音所困扰。服务器刚刚接通电源,其内部元件尚处于预热待命状态,而风扇却已全速运转,这不仅加剧了噪音污染,还拖慢了启动速度,…

了解华为云容器引擎(Cloud Container Engine)

1.什么是云容器引擎? 云容器引擎(Cloud Container Engine,简称CCE)提供高度可扩展的、高性能的企业级Kubernetes集群。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。云容器引擎是一个企业级的…

【Python机器学习】循环神经网络(RNN)——超参数

几乎所有模型都可以根据数据和样本进行调整,它们都有各自的优势和相应的利弊权衡方式。寻找最优超参数集通常是一个棘手的问题,但是人类的直觉和经验可以为我们提供解决问题的方法。比如之前的例子: #设置任意输入序列的最大长度 maxlen100 …

鸿蒙 ArkUI组件二

ArkUI组件(续) 文本组件 在HarmonyOS中,Text/Span组件是文本控件中的一个关键部分。Text控件可以用来显示文本内容,而Span只能作为Text组件的子组件显示文本内容。 Text/Span组件的用法非常简单和直观。我们可以通过Text组件来显…

多模态大语言模型综述(中)-算法实用指南

本文是Multimodal Large Language Models: A Survey的译文之算法实用指南部分。 上:摘要、概念与技术要点实用指南中:算法实用指南(本文)下: 任务的实用指南(应用)、挑战等 原始信息 标题: Multimodal Large Language Models: A Survey译文: 多模态大…

拓扑排序算法

拓扑排序算法 上图意思为在我想要完成C7这件事之前我必须先完成事件C1,在完成C5这件事之前我必须先完成事件C6和C3.由图可以提看出拓扑序列是不唯一的。 有向图拓扑排序算法基本步骤: 1.从图中选择一一个入入度为0的顶点, 输出该顶点; 2.从图中删除该…

MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例

目录 深入理解 JavaScript 中的 MutationObserver:原理与实战案例 一、MutationObserver 简介 二、MutationObserver 的工作原理 1、基本用法 2、observe 方法的配置项 三、实战案例 案例 1:监控动态内容加载 案例 2:监控属性变化 案…

springboot 项目获取 yaml/yml (或 properties)配置文件信息

文章目录 springboot 项目获取配置文件信息前言1、 Autowired 注入 Environment类2、基础用法,使用Value注解直接注入配置信息3、进阶方法(推荐使用)拓展:springboot 集成配置中心 - 以 Apollo 为例 springboot 项目获取配置文件信…

通信工程学习:什么是接入网(AN)中的TF传送功能

接入网(AN)中的TF传送功能 在通信工程中,TF(Transfer Function)传送功能是指为接入网(AN)不同位置之间提供通道和传输介质,以实现数据的有效传输。以下是关于TF传送功能的详细解释&a…

PMP--一模--解题--91-100

文章目录 13.干系人管理91、 [单选] 在项目执行期间,一名外部干系人反对一项重大范围变更。除非重新评估干系人的决定,否则项目进展将受到影响。项目经理下一步该怎么做? 5.范围管理92、 [单选] 一客户给你一复杂项目的采购工作说明书&#x…

配置全新服务器深度学习一套流程

目录 1.安装anaconda2.配置cuda3.配置cudnn4.配置新的pytorch环境5.安装rdkit包6.小问题记录 1.安装anaconda 直接参考视频 总结: 1.下载anaconda安装包,尽量不下载最新的版本 2.bash 对应安装包,一直回车,yes 3.配置环境vim ~/.…

实战千问2大模型第三天——Qwen2-VL-7B(多模态)视频检测和批处理代码测试

画面描述:这个视频中,一位穿着蓝色西装的女性站在室内,背景中可以看到一些装饰品和植物。她双手交叉放在身前,面带微笑,似乎在进行一场演讲或主持活动。她的服装整洁,显得非常专业和自信。 一、简介 阿里通义千问开源新一代视觉语言模型Qwen2-VL。其中,Qwen2-VL-72B在大…

在k8s中,客户端访问服务的链路流程,ingress--->service--->deployment--->pod--->container

ingress是一个API资源。 其核心作用是nginx网页服务器。 当客户端访问服务器不同的url时, 用不同的location提供服务。 在k8s之外,nginx的配置一般如下: http {server {listen 80;server_name localhost;location / {root html; …

鸿蒙开发入门day19-使用NDK接口构建UI(一)

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,还请三连支持一波哇ヾ(@^∇^@)ノ) 目录 NDK接口概述 整体架构 开发流程 接入ArkTS页面 占位组件 NDK组…

unity3d入门教程六

unity3d入门教程六 15.1预制体15.2编辑预制体15.3在场景中编辑15.4动态创建实例15.5实例的销毁16.1(练习)子弹发射16.2定时器16.3键盘事件 15.1预制体 火神山10天建成,使用了预制体技术 一个个小房间都是事先建造好的,最后吊车装…