MySql必知必会(二)阅读笔记

第七章 数据过滤

组合WHERE子句

AND操作符

SELECT prod_price,prod_name
FROM products
WHERE vend_id = 1003 AND prod_price <=10;

在这里插入图片描述

OR操作符

SELECT prod_price,prod_name
FROM products
WHERE vend_id = 1003 OR prod_price <=10;

在这里插入图片描述

计算计次

SELECT prod_price,prod_name,vend_id
FROM products
WHERE vend_id = 1003 OR vend_id = 1002 AND prod_price <=10;

在这里插入图片描述

SELECT prod_price,prod_name,vend_id
FROM products
WHERE (vend_id = 1003 OR vend_id = 1002) AND prod_price <=10;

在这里插入图片描述

IN 操作符

SELECT prod_price,prod_name,vend_id
FROM products
WHERE vend_id IN (1002,1003) 
ORDER BY prod_name;

在这里插入图片描述

NOT操作符

SELECT prod_price,prod_name,vend_id
FROM products
WHERE vend_id NOT IN (1002,1003) 
ORDER BY prod_name;

在这里插入图片描述

第八章 用通配符进行过滤

LIKE操作符

  1. 通配符:用来匹配值的一部分的特殊字符
  2. 搜索模式:由字面值,通配符或俩者组合成的搜索条件

百分号%:任意字符出现任意次

SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE 'jet%';

在这里插入图片描述

下划线_ :任意单个字符

SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE '_ ton anvil';

在这里插入图片描述
在使用通配符时,若非必要,则不要将通配符放在搜索模式的开头

用正则表达式进行搜索

使用MySQL正则表达式

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '1000';

在这里插入图片描述

(.)匹配任意一个字符

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '.000';

在这里插入图片描述

进行OR(|)匹配

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '1000|2000';

在这里插入图片描述

[ ]匹配几个字符之一

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '[123]000';

在这里插入图片描述

匹配范围

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '[1-5] Ton';

在这里插入图片描述

匹配特殊字符

SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '\\.';

在这里插入图片描述

元字符说明
\\f换页
\\n换行
\\r回车
\\t制表
\\v纵向制表

匹配多个实例

元字符说明
*0或多个匹配
+1或多个匹配
?0或1个匹配
{n}指定数目匹配
{n, }不少于指定数目匹配
{n,m}指定数目范围匹配
SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '\\([0-9] sticks?\\)';

在这里插入图片描述

定位符

元字符说明
^文本开头
$文本结尾
[[:<;]]词开头
[[:>;]]词结尾
SELECT prod_id,prod_name
FROM products
WHERE prod_name REGEXP '^[0-9\\.]';

在这里插入图片描述

创建计算字段

拼接字段

Concat()拼接俩个列

SELECT Concat(vend_name,'(',vend_country,')')
FROM vendors
ORDER BY vend_name;

在这里插入图片描述

RTrim() 删除数据右侧多余的空格

SELECT RTrim(vend_country)
FROM vendors
ORDER BY vend_name;

LTrim() 删除数据左侧多余的空格
Trim()删除数据俩侧多余的空格

AS 别名

执行算术计算

SELECT 	prod_id,
				quantity,
				item_price,
				quantity*item_price AS 总价
FROM orderitems
WHERE order_num = 20005;

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值