本章节所用表来自此资源,请自行下载

链接:https://pan.baidu.com/s/1-FLtGR84ebXPt-PkjSRt1A
提取码:vw58

自行创建数据库,导入资源内文件,使用dos命令查看数据库表如下:
image.png

用正则表达式进行搜索

一、使用MySQL正则表达式

1.基本字符的匹配

使用 REGEXP 关键字
select prod_name from products where prod_name regexp ‘1000’ order by prod_name;
显示结果如下:
image.png
其中regexp关键字后边跟的‘1000’就是一个正则表达式
语句分析:
这条语句表示从products表中检索prod_name中含有1000的prod_name,最后按照prod_name排序
语法:select … from…where … regexp 正则表达式 ….

2.进行or匹配

正则表达式中搜索两个串之一使用 | ,例子如下:
select prod_name from products where prod_name regexp “1000|2000” order by prod_name;
显示结果如下:
image.png
语句分析:
这条语句中表示从products表中检索prod_name中含有1000或者2000的prod_name,最后按照prod_name排序
语法:select … from…where … regexp (”正则表达式1”|”正则表达式2|3|…”) ….

3.匹配几个字符之一

想要匹配特定的字符可以使用 [ ] 来完成 ,例子如下:
SELECT prod_name FROM products WHERE prod_name REGEXP ‘[123] ton’ ORDER BY prod_name;
显示结果如下:
image.png
语句分析:
这条语句中表示从products表中检索prod_name中含有1 ton或者2 ton或者3 ton的prod_name,最后按照prod_name排序
语法:select … from…where … regexp ‘[…] ..’ ….

4.匹配范围

select prod_name from products where prod_name regexp ‘[0-9] ton’ order by prod_name;
显示结果如下:
image.png
语句分析:
这条语句中表示从products表中检索prod_name中含有1 ton或者2 ton或者3 ton或者…..9 ton的prod_name,最后按照prod_name排序

5.匹配特殊字符

例如匹配包含‘.’的字符
select vend_name from vendors where vend_name regexp ‘.’ order by vend_name;
image.png
这显然不是我们期望的结果,其实‘.’表示匹配任意字符,但是我们想要匹配名字中带有‘.’的数据就需要加上转义字符“\”
再次尝试:**
select vend_name from vendors where vend_name regexp ‘\.’ order by vend_name;
结果对比如下:
image.png

image.png

创建计算字段

一、计算字段

二、拼接字段

1、concat字段拼接

想要将两个列拼接起来,在MySQL中我们使用concat()来完成
select Concat(vend_name,’(‘,vend_country,’)’) from vendors order by vend_name;
显示结果如下:
image.png

2、使用别名

mysql中我们使用as来进行对返回的数据列名修改别名;
select Concat(vend_name,’(‘,vend_country,’)’) as nameAndCountry from vendors order by vend_name;
显示结果如下:
image.png

三、执行算数计算

select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems;
显示结果如下:
image.png

使用函数

与其他的语言相通SQL也支持函数的形式来处理数据。

一、文本处理函数

常见的函数如下:
image.pngimage.png
这里我们就不一一演示了

二、日期和时间函数处理

image.png
同样也不进行一一演示了

三、数值处理函数

image.png

数据汇总

一、聚合函数

常见的聚合函数如下:
image.png
这些都是我们经常用到然后必须牢记的聚集函数。
下面进行一一介绍:

1.平均值函数

select avg(prod_price) as avg_price from products;
SQL分析:查询products表中prod_price的平均值,并以avg_price做别名
显示结果如下:
image.png

2.查询某列行数

select count(*) as num_cust from customers;
显示结果如下:
image.png

3.最大值

select max(prod_price) as max_price from products;
显示结果如下:
image.png

4.最小值

select min(prod_price) as max_price from products;
显示结果如下:

image.png

5.求和函数

select sum(prod_price) as max_price from products;
显示结果如下:
image.png

**