1、使用通配符进行过滤。
1):%,能匹配0个,1个,多个字符。
在搜索串中,%表示任何字符出现任意次数,例如为了找出以词jet起头的产品:
select column1,column2 from products where column1 like 'jet%';
select column1,column2 from products where column1 like '%jet%'; //中间包含jet的行
2):_,只能匹配一个字符。不能多也不能少。
select column1 from products where column1 like '_ton';
2、使用正则表达式来过滤
1):
select * from products where column regexp '1000';
//检索汗文本1000的所有行
select * from products where column regexp '.000';
//.是一个特殊字符,它表示匹配任意一个字符,会匹配到1000或2000等等。。
3、like与regexp的细微差别
两个语句:
select * from image where iid like 12;
select * from image where iid regexp 12;
前者得出来的,只有当iid等于12的行,而后者是iid中包含12的行。
4、可以使用Concat函数来凭借字符串,例如:
select Concat(column_name,'(',column_country,')')
from table
order by column_name;
//会检索出类似于acme(usa)之类的数据。
//同时,还支持类似与Trim(),LTrim(),RTrim()之类函数,使用方法
//可以嵌入上一条语句的Concat里面去。
5、使用as的别名使用:
select column1 as title from table;
此时,原来搜出来的列叫做column1,而现在叫做title,也就是你在后台获取数据库
表数据时,要以title名字获取而不是column1了。
6、可以执行算术运算。例如:
select prod_id ,quantity ,item_price ,quantity*item_price as expanded_price
from orderitems
where order_num=2017;
这样就会计算quantity*item_price 的值并放在expanded_price列中。
7、文本处理函数,以upper()为例。
select column1 ,upper(column1) as column2 from table; //搜出column1和全部变为大写后的吃哦鲁莽你1。
常用的文本处理函数:
left():返回串左边的字符。
length():返回串的长度。
locate():找出串的一个子串。
lower(): 将串转换为小写。
ltrim():去掉串左边的空格。
right():返回串右边的字符。
rtrim():去掉串右边的空格。
soundex():返回串的soundex值。
subString():返回字串的字符。
8、日期处理函数,例如date(date)
select * from orders where date(order_date) betwween '2017-06-01' and '2017-07-01';
//检索日期之间的信息。
常见的日期处理函数:
adddate():增加一个日期(天、周等);
addtime():增加一个时间(天、周);
curdate():返回当前日期。
curtime():返回当前时间。
date():返回日期时间的日期部分。
datediff():计算两个日期之差。
date_add():高度灵活的日期运算函数。
date_format():返回一个格式化的日期或时间串。
day():返回一个日期的天数部分。
dayofweek():对于一个日期,返回对应时间的星期几。
hour():返回一个时间的小时部分。
minute():返回一个时间的分钟部分。
month():返回一个时间的月份部分。
now():返回当前日期和时间。
second():返回一个时间的秒部分。
time():返回一个日期时间的时间部分。
year():返回一个时间的年份部分。
9、数值处理函数
abs():返回一个数的绝对值。
cos():返回一个角度的余弦。
exp():返回一个数的指数值。
mod():返回操作数的余数。
pi():返回圆周率。
rand():返回一个随机数。
sin():返回一个角度的正弦。
sqrt():返回一个数的平方根。
tan():返回一个角度的正切。
10、聚集函数
前些函数主要是针对与某一个数据,有具体位置坐标的,下面主要介绍聚集函数,针对于列的。
avg():返回某列的平均值。
count():返回某列的行数。
max():返回某列的最大值。
min():返回某列的最小值。
sum():返回某列值之和。
如果要针对不同的值,可以再上述聚集函数中加入distinct关键字。
组合聚集函数也是可以的,例如下面sql语句:
select count(*) as num_items,
min(prod_price) as price_min,
max(prod_price) as price_max,
avg(prod_price) as price_avg
from products;