MySQL基础学习总结(2)

   注意:select语句的order by子句对检索出的数据进行排序,这个字句必须出现在select语句中的最后一条子句。至于为什么,这个我暂时还不知道哈。。。

5、过滤数据

  select语句中,数据可以根据where子句指定的过滤条件进行过滤,where子句在表名(from子句)之后给出,比如,select id, name from goods where id = 2,该语句只显示id为2记录的id和name。注意:如果同时使用where和order by子句,应该让order by子句在where之后,否则会产生错误。

  where子句操作符如下:

=   等于

<> 不等于

!= 不等于

<  小于

>  大于

>= 大于等于

between  在指定的两个值之间(比如select * from goods where id between 1 and 2)

  我们在创建表时,可以指定其中的列是否可以不包含值,在一个列不包含值时,其值为空值null,select语句有一个特殊的where子句,用来检测具有null值的列,比如:select * from goods where num is null 就把num是空值得记录给打印出来。

MySQL基础学习总结

 

MySQL基础学习总结

6、数据过滤

  常用的select子句在过滤数据时使用的是单一的条件,为了进行更强的过滤控制,可以下多个where子句,这些子句有两种方式:以and子句和or子句的方式使用。

select * from goods where id = 2 and num > 10 检索id为2并且num大于10的记录

select * from goods where id = 3 or num >  15 检索id为3并且num大于15的记录

  假如多个and和or语句放在一起,则优先处理and操作符,此时可以使用圆括号来改变其优先顺序。圆括号还可以指定in操作符的条件范围,范围中的每个条件都可以进行匹配。

MySQL基础学习总结

  where子句中的not操作符只有否定它之后的任何条件这一作用。

MySQL基础学习总结

7、用通配符进行过滤

  使用like操作符进行通配搜索,以便对数据进行复杂过滤。

百分号(%)操作符 搜索中,%表示任何字符出现任意次数。

MySQL基础学习总结

下划线(_)通配符,它用来匹配单个字符而不是多个字符。

MySQL基础学习总结

通配符很有用,但这是有代价的,通配符的搜索处理一般比其他搜索花费时间长,这里有一些技巧:

不要过度使用通配符,如果其他操作符能达到同样的目的,就应该使用其他操作符。

在确实需要使用通配符时,除非绝对必要,否则不要把它们用在搜索模式的开始处,把通配符放在开始处,搜索起来是最慢的。

注意通配符位置,位置不对可能不会返回想要的结果。

 8、正则表达式

  正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。mysql的where子句对正则表达式提供了初步支持,允许你指定正则表达式 ,过滤select检索出的数据。先看一下表记录:

MySQL基础学习总结

select * from goods where name regexp '香' order by num desc 检索出name中有'香'的所有记录

select * from goods where name regexp '香.' 检索出name中有'香'的所有记录,'.'表示匹配任意一个字符

select * from goods where name regexp '香|瓜' 检索处name中有'香'或者'瓜'的所有记录

MySQL基础学习总结

 

MySQL基础学习总结

  如果记录匹配正则表达式,则就会被检索出来,使用下面正则表达式重复元字符可以进行更强的控制。

*   匹配0个或多个

+   匹配1个或多个(等于{1,})

?   匹配0个或1个(等于{0,1})

{n} 指定书目的匹配

{n,} 不少于指定数据的匹配

{n,m} 匹配指定数据的范围(m不超过255)

^  文本的开始

$  文本的结束

[[:<:]]  词的开始

[[:>:]]  词的结束

  注意:regexp和like作用类似,regexp和like不同之处在于,like匹配整个串而regexp匹配子串,利用定位符,通过'^'开始每个表达式,用'$'结束每个表达式,可以使regexp的作用和like一样。

9、创建计算字段

  拼接将值连接到一起构成单个值,在mysql的select语句中,可使用concat()函数来拼接两个列。

MySQL基础学习总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2cbf56adb63dc3a9efae64edf111e427.html