【测试开发学习历程】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支持对查询出的数据进行算术运算,支持的运行类型有:

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

相关推荐
狼头长啸李树身1 分钟前
眼儿媚·秋雨绵绵窗暗暗
大数据·网络·服务发现·媒体
挥剑决浮云 -8 分钟前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
向上的车轮11 分钟前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长21 分钟前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
丶Darling.24 分钟前
LeetCode Hot100 | Day1 | 二叉树:二叉树的直径
数据结构·c++·学习·算法·leetcode·二叉树
立秋678930 分钟前
Python的defaultdict详解
服务器·windows·python
SizeTheMoment44 分钟前
初识HTTP协议
网络·网络协议·http
Lansonli1 小时前
云原生(四十一) | 阿里云ECS服务器介绍
服务器·阿里云·云原生
全栈师1 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3171 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop