【测试开发学习历程】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 分钟前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
Chef_Chen3 分钟前
从0开始学习机器学习--Day13--神经网络如何处理复杂非线性函数
神经网络·学习·机器学习
我言秋日胜春朝★3 分钟前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器
齐 飞28 分钟前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb
云空29 分钟前
《Python 与 SQLite:强大的数据库组合》
数据库·python·sqlite
暮毅33 分钟前
10.Node.js连接MongoDb
数据库·mongodb·node.js
饮啦冰美式35 分钟前
22.04Ubuntu---ROS2使用rclcpp编写节点
linux·运维·ubuntu
wowocpp35 分钟前
ubuntu 22.04 server 安装 和 初始化 LTS
linux·运维·ubuntu
wowocpp36 分钟前
ubuntu 22.04 server 格式化 磁盘 为 ext4 并 自动挂载 LTS
服务器·数据库·ubuntu
wclass-zhengge39 分钟前
Netty篇(入门编程)
java·linux·服务器