【测试开发学习历程】MySQL条件查询与通配符 + MySQL函数运算(上)

前言:

18日08:56,总要先写完明天的博客,才能安心准备今天或者明天的学习。

半夜爬起来写博客真的好辛苦!!!!!!!!!

回归早上八点定时博客的好习惯!!!!!!!!

数据库这部分算是简单又重要了,继续加油吧!!

感叹号对齐!!!!!!!!!!!!!!!!!

1 MySQL条件

目录

[1 MySQL条件查询与通配符](#1 MySQL条件查询与通配符)

[1.1 条件查询](#1.1 条件查询)

[1.2 where子句](#1.2 where子句)

[1.2.1 实例](#1.2.1 实例)

[1.2.2 支持操作符](#1.2.2 支持操作符)

[1.3 AND、OR操作](#1.3 AND、OR操作)

[1.3.1 AND操作符](#1.3.1 AND操作符)

[1.3.2 OR操作符](#1.3.2 OR操作符)

[1.3.3 优先级顺序](#1.3.3 优先级顺序)

[1.4 IN、NOT操作](#1.4 IN、NOT操作)

[1.4.1 IN操作符](#1.4.1 IN操作符)

[1.4.2 NOT操作符](#1.4.2 NOT操作符)

[1.5 LIKE操作](#1.5 LIKE操作)

[1.6 通配符](#1.6 通配符)

[1.6.1 "%" 通配符](#1.6.1 “%” 通配符)

[1.6.2 "" 通配符](#1.6.2 “” 通配符)

[2 MySQL函数运算(上)](#2 MySQL函数运算(上))

[2.1 创建计算字段](#2.1 创建计算字段)

[2.1.1 列的别名](#2.1.1 列的别名)

[2.1.2 concat()函数](#2.1.2 concat()函数)

[2.1.3 算术运算](#2.1.3 算术运算)


查询与通配符

1.1 条件查询

数据库表中一般包含大量的数据,很少需要查询表中所有行,通常只会根据特定的需要提取表中的一部分数据。这时就需要指定查询条件,即过滤条件;

在select语句中,数据库根据where子句中指定的查询条件进行过滤.

where子句位于表名之后;格式:

select 列名 from 表名 where 列满足的条件;

1.2 where子句

1.2.1 实例

从products表中查询两列,只返回product_price值为2.50的行。

注意:在同时使用order by和where子句时,order by应位于where之后,否则将会产生错误。

1.2.2 支持操作符

实例如下:

1.3 AND、OR操作

1.3.1 AND操作符

MySQL支持在where子句中给出多个条件,这些条件可以使用AND子句表示条件都满足时返回指定的行

格式:select 列名 from 表名 where '列1满足的条件' AND '列2满足的条件' AND ...;

1.3.2 OR操作符

MySQL支持在where子句中给出多个条件,这些条件可以使用OR子句表示条件中只需要有一个满足时返回指定的行;

格式:

select 列名 from 表 where '列1满足的条件' OR '列2满足的条件' OR ...;

1.3.3 优先级顺序

AND的优先级高于OR,当AND/OR中有多个条件的时候,需要使用()把各个条件明确地分组,防止条件的错误组合导致返回的结果不正确;

圆括号具有比AND/OR更高的优先级,MySQL首先执行圆括号内的条件。

1.4 IN、NOT操作

1.4.1 IN操作符

IN操作符用来指定条件范围,范围内的每个条件都可以进行匹配。IN取值包含在圆括号中,以逗号分隔;

格式:select 列名 from 表名 where 列名 in (value1,value2,...);

特点:

  • IN操作符的语法清晰直观;
  • 计算次序容易管理;
  • IN操作符一般比OR操作符执行速度更快;
  • IN可以包含其他select语句,使得能够动态地建立where子句。

1.4.2 NOT操作符

where子句中的NOT操作符只有一个功能,即否定它之后所跟的任何条件;

使用NOT很容易找出与条件列表不匹配的行;

例:NOT否定跟在它之后的条件,因此,MySQL不匹配1002和1003的vend_id,而是匹配1002和1003之外的vend_id;

注意:MySQL只支持使用NOT对IN、BETWEEN和EXISTS子句取反。

1.5 LIKE操作

通配符是用来匹配值的一部分的特殊字符;

为了在查找子句中使用通配符,必须使用LIKE操作符,LIKE指示MySQL后跟的查找模式利用通配符匹配而不是直接相等匹配进行比较。

1.6 通配符

1.6.1 "%" 通配符

百分号(%)在查找串中,%表示任何字符出现任意次数(包括0次),但不能匹配NULL;

例:找出所有以jet开头的产品

1.6.2 "_" 通配符

特点:

  • %与_的区别:与%不一样,_总是匹配一个字符,不能多也不能少;
  • 使用通配符会比没有通配符更消耗数据库执行查询的时间,应该在需要使用通配符的地方才使用。

2 MySQL函数运算(上)

2.1 创建计算字段

2.1.1 列的别名

当表列名比较繁琐时,为了简化和方便使用,可以给列取别名;

有些应用中,存储在表中的数据不是应用所需要的,需要创建新的字段来表示数据库中的数据进行通过计算或函数运算转换后的数据;

对拼接的结果使用别名,别名是一个字符或值的替换名,使用AS关键字创建,AS可以省略

2.1.2 concat()函数

作用:用于将多个字符串连接成一个字符串,是最重要的mysql函数之一;

格式:CONCAT(str1,str2,...);

例:

2.1.3 算术运算

MySQL支持对查询出的数据进行算术运算,支持的运行类型有:

|---------|--------|
| 操作符 | 说明 |
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |

相关推荐
噔噔君18 小时前
嵌入式模组拨号获取IP地址时,设置的ippass是什么原理,起到什么作用?
服务器·网络协议·tcp/ip·ip
元闰子18 小时前
怎么让程序更高效地连起来?
数据库·redis·mysql
洲覆18 小时前
Redis 内存淘汰策略
开发语言·数据库·redis·缓存
无敌最俊朗@18 小时前
VMware Ubuntu 虚拟机网络故障分析报告
服务器·网络·ubuntu
电子云与长程纠缠18 小时前
Blender入门学习01
学习·blender
SRC_BLUE_1719 小时前
NSSCTF - Web | 【SWPUCTF 2021 新生赛】Do_you_know_http
网络·网络协议·http
CodeCraft Studio19 小时前
PDF处理控件Aspose.PDF教程:在C#中将PDF转换为Base64
服务器·pdf·c#·.net·aspose·aspose.pdf·pdf转base64
我命由我1234519 小时前
Spring Cloud - Spring Cloud 微服务概述 (微服务的产生与特点、微服务的优缺点、微服务设计原则、微服务架构的核心组件)
java·运维·spring·spring cloud·微服务·架构·java-ee
胖头鱼的鱼缸(尹海文)19 小时前
数据库管理-第376期 Oracle AI DB 23.26新特性一览(20251016)
数据库·人工智能·oracle
麦聪聊数据19 小时前
浅谈SQL审核(一):SQL审核实现方式与常见工具的选择
数据库·sql