首页 > 数据库 >MYSQL数据库(三)

MYSQL数据库(三)

时间:2024-08-29 19:21:35浏览次数:10  
标签:函数 数据库 查询 分组 MYSQL 字符串 WHERE HAVING

三、查询机制

select * from 表名 [连接查询] [限定查询] [分组查询] [排序查询]

1.简单查询

select * from 表名 where 条件;

查询满足条件的所有信息

select 字段,字段 from 表名 where 条件;

查询满足条件的所有指定字段信息

(1)DISTINCT

去重关键字

(2)限定查询

between...and...

在指定范围内

and

or

is NULL

字段值为空

in (...)

在括号中所包含的字段值

like

模糊查询:

包含x的字符串:%x%

以x开头的字符串:x%

以x结尾的字符串:%x

占位符(一个字符):_

order by 字段 asc/desc

按照字段升序/降序排列

2.多表查询

select 字段,字段 from 表1,表2 where 表1.关联字段=表2.关联字段;

3.连接查询

left join ... on  条件

左连接

right join ... on 条件

右连接

outer join ... on 条件

外连接

4.分组查询

分组前提:需要分组的列出现了重复数据

select * from 表名 Group by 字段

语法限制:

1、一旦出现分组,那么select后边只允许出现统计函数以及分组字段

2、统计函数可以单独使用

3、如果出现统计函数的嵌套,那么select后边只允许出现统计函数

HAVING关键字和WHERE关键字都可以用来过滤数据,且HAVING支持WHERE关键字中所有的操作符和语法但是WHEREHAVING关键字也存在以下几点差异:

4、一般情况下,WHERE 用于过滤数据行,而 HAVING 用于过滤分组

5、WHERE查询条件中不可以使用聚合函数,而 HAVING 查询条件中可以使用聚合函数

6、WHERE在数据分组前进行过滤,而HAVING在数据分组后进行过滤

7、WHERE针对数据库文件进行过滤,而HAVING针对查询结果进行过滤

WHERE根据数据表中的字段直接进行过滤,而HAVING是根据前面已经查询出的字段进行过滤

8、WHERE查询条件中不可以使用字段别名,而HAVING查询条件中可以使用字段别名

5.单行函数查询

在MySQL中,单行函数是一种对单个输入值执行操作的函数,它接受一个输入参数并返回一个值,可以用于处理数据,并在查询中进行数据转换、计算、日期和时间处理等操作

以下是MySQL中常见的单行函数示例:

(1)字符串函数

CONCAT

连接两个或多个字符串

SUBSTRING

返回字符串的子串

LOWER

将字符串转换为小写

UPPER

将字符串转换为大写

(2)数值函数

ABS

返回数值的绝对值

CEIL

返回大于或等于给定数值的最小整数

FLOOR

返回小于或等于给定数值的最大整数

RAND

返回一个随机数

(3)日期和时间函数

CURDATE

返回当前日期

CURTIME

返回当前时间

NOW

返回当前日期和时间

DATE_FORMAT

按照指定格式格式化日期或时间

(4)条件函数

IF

根据条件返回不同的值

CASE

根据条件执行不同的操作

(5)其他函数

MD5

计算字符串的MD5哈希值

SHA1

计算字符串的SHA1哈希值

REVERSE

反转字符串的顺序

TRIM

删除字符串开头和结尾的空格或指定字符

6.子查询

单行单列、单行多列、多行多列

7.分页查询

LIMIT 数字,数字

第一个数字表示索引开始位置

第二个数字表示每页显示的个数

标签:函数,数据库,查询,分组,MYSQL,字符串,WHERE,HAVING
From: https://blog.csdn.net/m0_75227909/article/details/141686502

相关文章

  • 简单介绍数据库
    基本概念数据库(DataBase,DB)定义数据库是相互关联的数据项的集合简单来说,就是存储数据的地方特点结构化:数据通常以表格、行和列的形式组织持久性:数据长期保存,防止丢失数据关联:数据项之间可以定义关系即不同的表格之间通过相同的信息联系起来,这个相同的信息就叫做......
  • MySQL 系统库
    文章目录一.概念二.performance_schema1.概念2.检查当前数据库版本是否支持3.`performance_schema`表分类5.配置与使用6.查看执行失败的SQL语句7.查看最近事务执行信息8.小结三.sys系统库1.使用须知2.使用3.查看慢SQL语句慢在哪4.小结四.Information_s......
  • 使用Flask快速构建Web后端项目:Python、Flask、Mysql、Migrate、SQLAlchemy、Login、Se
    Flask是一个用Python编写的轻量级Web应用框架。它设计简单且易于扩展,如果与Jinja2模板引擎和WerkzeugWSGI工具集结合使用,Flask可以用来快速开发小型到中型的网站。Flask鼓励快速开发和简洁的代码,同时保持了扩展性和灵活性。本文旨在如何使用Flask及其相关组件快......
  • 03-docker&mysql相关练习
    1、在docker中分别以后台方式和交互方式启动centos,对比启动后的容器状态,实现退出容器也能保持其运行状态。[root@CentOS~]#dockerrun-dcentos //后台方式76e8d53e483a1d53ad18c78ce4075fd9d72ecf01616d243f52218e1f40d03859[root@CentOS~]#dockerrun-itcentos //交互方......
  • 使用MySQL Shell 8.4.1-LTS 直接将数据复制到 MySQL实例
     在之前的文章中,我谈到了如何使用MySQLShell通过多线程过程来转储和加载数据,以及如何以不同格式导出表数据,然后可以将这些数据导入到新的MySQL实例中。这篇文章将讨论我们如何直接将数据复制到另一个MySQL实例,而无需执行单独的转储和加载操作。在开始这个演示之前,我按......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......
  • 【性能优化+数据库】读写分离方案
    读写分离是一种常见的优化方案,旨在通过将读操作、和写操作分开,如下图所示:大致的原理,如下:【主库(Master)】:负责处理所有的写操作(比如:插入、更新、删除......)、和写操作相关的事务;【从库(Slave)】:负责处理读操作(查询),通过主从复制机制从主库同步数据;【复制机制】:主库将数据更改记......
  • 你一定想知道的Redis数据库详解
    目录一、Redis介绍1.1定义1.2为什么要有Redis1.3Redis和Mysql的对比1.4Redis的一些常见命令二、Redis常见的数据结构一、字符串(String)二、哈希(Hash)三、列表(List)四、集合(Set)五、有序集合(SortedSet)三、Redis的应用场景四、实验练习4.1redis部署实验环境:实验......
  • ci3使用PDO连接数据库
    $db['default']=array('dsn'=>"mysql:host=localhost;dbname=test;charset=utf8",//设置数据库连接字符串'hostname'=>'localhost','username'=>'root','password......
  • Oracle DB 因宿主机(Linux 虚拟机)意外关停,重启数据库步骤
    前期准备:示例的linux版本为:linux9宿主机重启后,如果之前挂载的oraclehome路径及环境变量未生效,需要先重新设置:exportORACLE_SID=FREEexportORAENV_ASK=NO./opt/oracle/product/23ai/dbhomeFree/bin/oraenv前往home路径下的bin文件夹下进行操作:cd$ORACLE_HOME/bin......