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

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

相关推荐
麻瓜也要学魔法27 分钟前
链路状态路由协议-OSPF
网络
Estar.Lee33 分钟前
查手机号归属地免费API接口教程
android·网络·后端·网络协议·tcp/ip·oneapi
傻啦嘿哟1 小时前
代理IP在后端开发中的应用与后端工程师的角色
网络·网络协议·tcp/ip
sun0077001 小时前
ubuntu dpkg 删除安装包
运维·服务器·ubuntu
Red Red1 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
oi772 小时前
使用itextpdf进行pdf模版填充中文文本时部分字不显示问题
java·服务器
mqiqe2 小时前
Python MySQL通过Binlog 获取变更记录 恢复数据
开发语言·python·mysql
工业甲酰苯胺2 小时前
MySQL 主从复制之多线程复制
android·mysql·adb