MySql(进阶)

一.数据库约束

 约束类型

NOT NULL - 指示某列不能存储 NULL 值。 (not null不能为NILL)

UNIQUE - 保证某列的每行必须有唯一的值。 (unique唯一值)

DEFAULT - 规定没有给列赋值时的默认值。 (default为空给定默认值)

PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标

识,有助于更容易更快速地找到表中的一个特定的记录。 (主键约束=not null+unique)

FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。 (外键用于关联其他表的主键或唯一键)

CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但忽略

CHECK子句

  1. PRIMARY KEY常配搭自增长auto_increment来使用。插入数据对应字段不给值时,使用最大 值+1
  2. FOREIGN KEY :foreign key 字段名 references 关联表名(关联表列名);

二.表的设计

三.聚合查询

1.聚合查询

Count返回查询到的数据数量:select count(*) from 表名;

sum返回查询到的数据的总和,不是数字没有意义:select sum(math) from 表名;

Avg返回查询到的数据的平均值,不是数字没有意义:select avg(math) 平均from 表名;

Max返回查询到的数据的最大值,不是数字没有意义:select max(max) from 表名;

min返回查询到的数据的最小值,不是数字没有意义:select min(math) from 表名;

2.group by(分组)

以每个相同的role为一组,在一个组中分别获取其中最大、最小、平均值。

select role,max(salary),min(salary),avg(salary) from emp group by role ;

GROUP BY 子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用 WHERE 语句,而需要用 HAVING

3.HAVING

select role,max(salary),min(salary),avg(salary) from emp group by role having avg(salary)<1500;

四. 联合查询

1.内连接

语法

select 字段 from 1 别名1 [inner] join 2 别名2 on 连接条件 and 其他条件;

select 字段 from 1 别名1,2 别名2 where 连接条件 and 其他条件

2.外连接

外连接分为左外连接和右外连接。如果联合查询,左侧的表完全显示我们就说是左外连接;右侧的表完 全显示我们就说是右外连接。

语法:

-- 左外连接,表1完全显示

select 字段名  from 表名1 left join 表名2 on 连接条件;

-- 右外连接,表2完全显示

select 字段 from 表名1 right join 表名2 on 连接条件;

3.自连

4 .子查询

子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询信息

  1. [NOT] IN关键字:

Where a in b表示a获得b值

  1. [NOT] EXISTS关键字:

五 合并查询

为了合并多个select的执行结果,可以使用集合操作符 union,union all。使用UNION 和UNION ALL时,前后查询的结果集中,字段需要一致。

1.union

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中的重复行

2.union all

该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行

内容重点总结

  1. 数据库约束

  1. 表关系

  2. 新增

4.查询

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

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

相关文章

Three.js + React 实战系列 - 联系方式提交表单区域 Contact 组件✨(表单绑定 + 表单验证)

对个人主页设计和实现感兴趣的朋友可以订阅我的专栏哦&#xff01;&#xff01;谢谢大家&#xff01;&#xff01;&#xff01; 在现代网页中&#xff0c;一个精致的 Contact 区域不仅仅是表单的堆砌&#xff0c;更是用户与我们建立联系的第一印象。 在本节课中&#xff0c;我…

UOJ 164【清华集训2015】V Solution

Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1​,a2​,⋯,an​)&#xff0c;另有序列 h h h&#xff0c;初始时 h a ha ha. 有 m m m 个操作分五种&#xff1a; add ⁡ ( l , r , v ) \operatorname{add}(l,r,v) add(l,r,v)&#xff1a;…

C++开发过程中的注意事项详解

目录 C++开发过程中的注意事项详解 一、内存管理:避免泄漏与资源浪费 1.1 使用智能指针管理动态内存 1.2 避免手动内存管理的陷阱 1.3 利用RAII机制管理资源 1.4 容器与内存分配 二、安全性:防御攻击与未定义行为 2.1 输入验证与安全编码 2.2 使用安全的通信协议 2…

Git 时光机:修改Commit信息

前言 列位看官都知道&#xff0c;Git 的每一次 git commit&#xff0c;其中会包含作者&#xff08;Author&#xff09;和提交者&#xff08;Committer&#xff09;的姓名与邮箱。有时可能会因为配置错误、切换了开发环境&#xff0c;或者只是单纯的手滑&#xff0c;导致 commi…

QSFP+、QSFP28、QSFP-DD接口分别实现40G、100G、200G/400G以太网接口

常用的光模块结构形式&#xff1a; 1&#xff09;QSFP等效于4个SFP&#xff0c;支持410Gbit/s通道传输&#xff0c;可通过4个通道实现40Gbps传输速率。与SFP相比&#xff0c;QSFP光模块的传输速率可达SFP光模块的四倍&#xff0c;在部署40G网络时可直接使用QSFP光模块&#xf…

好用的播放器推荐

以下是一些好用的播放器推荐&#xff0c;按照不同平台和使用场景分类&#xff1a; 电脑端 VLC Media Player 特点&#xff1a;开源、跨平台&#xff0c;支持几乎所有的音视频格式&#xff0c;无需额外安装解码器。具备强大的功能&#xff0c;如播放列表管理、视频和音频滤镜、…

Vue基础(8)_监视属性、深度监视、监视的简写形式

监视属性(watch)&#xff1a; 1.当被监视的属性变化时&#xff0c;回调函数(handler)自动调用&#xff0c;进行相关操作。 2.监视的属性必须存在&#xff0c;才能进行监视&#xff01;&#xff01; 3.监视的两种写法&#xff1a; (1).new Vue时传入watch配置 (2).通过vm.$watc…

AI服务器的作用都有哪些?

根据网络环境的飞速发展&#xff0c;人工智能技术逐渐入驻到各个行业当中&#xff0c;其中AI服务器则是一种专门用来运行人工智能算法和模型的硬件设备&#xff0c;通常具备高性能计算、大容量存储和并行计算等多种功能&#xff0c;本文就来详细讲解一下AI服务器的作用&#xf…

[250508] Linux 内核瘦身:弃用 i486 及早期 586 CPU 支持

目录 Linux 内核计划精简&#xff1a;将移除对古董级 CPU 的支持 Linux 内核计划精简&#xff1a;将移除对古董级 CPU 的支持 核心动态&#xff1a; Linux 内核开发社区正计划一项重要的代码清理工作&#xff0c;目标是移除对非常古老的 i486 及早期 586 (如早期奔腾) CPU 架构…

ROM详解

一、ROM基础原理 定义与特性 ROM&#xff08;Read-Only Memory&#xff0c;只读存储器&#xff09;是一种非易失性存储器&#xff0c;数据在制造或编程后永久保存&#xff0c;断电后不丢失。其核心特性为数据不可修改&#xff08;或需特殊条件修改&#xff09;。 存储原理&…

解决虚拟机挂起之后的网络问题

相信很多人都有遇到过自己在VM上面手滑点了个挂起然后就连不了网络的情况吧&#xff0c;我也遇到了&#xff0c;下面是我的解决办法&#xff0c;希望对大家有所帮助&#xff01; 我运行完如下&#xff1a; 基本上出现绿色的就说明网络连上啦&#xff01;

在Star-CCM+中实现UDF并引用场数据和网格数据

在Star-CCM中实现UDF并引用场数据和网格数据 Star-CCM中的用户自定义函数(UDF)允许用户通过Java或C/C编程扩展软件功能。下面我将详细介绍如何实现UDF并引用模拟数据。 1. UDF基础实现方法 1.1 创建UDF的步骤 在Star-CCM中&#xff0c;右键点击"工具" → “用户函…

ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接,Python爬虫

文章目录 ConnectionResetError(10054, 远程主机强迫关闭了一个现有的连接1.问题描述2.尝试的解决方法&#xff08;均未生效&#xff09;2.1 请求重试机制2.2 模拟浏览器请求头2.3 关闭连接资源2.4 延迟访问 3.解决方案&#xff1a;使用 proxy_pool IP 代理池最后参考文章 Conn…

Redis相关命令详解与原理(一)

目录 Redis是什么&#xff1f; Redis 的特点和功能 Redis工作模式 与MySQL的区别 安装编译和启动 redis的value类型编码 string类型 基础命令 应用 1.对象存储 2.累加器 3.分布式锁 4.位运算 list类型 基础命令 应用 1.栈&#xff08;先进后出 FILO&#xff0…

Starrocks 的 ShortCircuit短路径

背景 本文基于 Starrocks 3.3.5 本文主要来探索一下Starrocks在FE端怎么实现 短路径&#xff0c;从而加速点查查询速度。 在用户层级需要设置 enable_short_circuit 为true 分析 数据流&#xff1a; 直接到StatementPlanner.createQueryPlan方法&#xff1a; ... OptExpres…

Oracle非归档模式遇到文件损坏怎么办?

昨天夜里基地夜班的兄弟&#xff0c;打电话说有个报表库连不上了&#xff0c;赶紧起来连上VPN查看一下&#xff0c;看到实例宕机了&#xff0c;先赶紧startup起来。 1.查看报错信息 环境介绍&#xff1a;Redhat 6.9 Oracle 11.2.0.4 No Archive Mode 查看alert log 关键报…

关于一些平时操作系统或者软件的步骤转载

关于一些平时操作系统或者软件的步骤转载 关于python环境搭建 关于Ubuntu 1. 双系统之Ubuntu快速卸载 2. VMware安装Ubuntu虚拟机实现COpenCV代码在虚拟机下运行教程 3. ubuntu 下 opencv的安装以及配置&#xff08;亲测有效&#xff09; 4. Ubuntu将c编译成.so文件并测试 5…

hz2新建Keyword页面

新建一个single-keywords.php即可&#xff0c;需要筛选项再建taxonomy-knowledge-category.php 参考&#xff1a;https://www.tkwlkj.com/customize-wordpress-category-pages.html WordPress中使用了ACF创建了自定义产品分类products&#xff0c;现在想实现自定义产品分类下的…

VRRP协议-IP地址冗余配置

有两个服务器172.16.42.1和172.16.42.121&#xff0c;通过VRRP协议使两台设备共用一个虚拟地址172.16.42.100&#xff0c;当 172.16.42.1 可用时&#xff0c;它会作为主路由器使用虚拟 IP 地址&#xff1b;当它不可用时&#xff0c;172.16.42.121 会接管虚拟 IP 地址&#xff0…

21、DeepSeekMath论文笔记(GRPO)

DeepSeekMath论文笔记 0、研究背景与目标1、GRPO结构GRPO结构PPO知识点**1. PPO的网络模型结构****2. GAE&#xff08;广义优势估计&#xff09;原理****1. 优势函数的定义**2.GAE&#xff08;广义优势估计&#xff09; 2、关键技术与方法3、核心实验结果4、结论与未来方向关键…