MySQL基础---数据查询

一.查询结果排序

Order by (默认排序方式’升序asc’,降序desc)

1) 单列排序

select * from 表名 order by 字段名 排序方式(asc/desc);

2) 多列排序

select * from 表名 order by 字段名1 排序方式(asc/desc), 字段名2 排序方式(asc/desc);

length(字段名)------可以算出字符串的长度

原则:依旧是从左至右,如果字段1的内容是相同的,则按字段名2的内容及方式排列

二.使用Limit限制查询结果的数量

Select * from 表名 limit 初始位置的下标,数量;

注意:
1)第一个数据位置的下标是0

2)初始位置的下标可以省略,且为0

  1. Limit 语法要求必须写在order by之后(默认没写时,是按插入顺序排序的)

注意:SELECT * from (select * from guestinfo LIMIT 5)t1 ORDER BY t1.guestIncome asc 这种情

况,括号里的是按照插入顺序排列后取前5条,这样形成了新的表,表名为t1 。然后在对这个新的表

进行排序

三.模糊查询

select * from 表名 where 字段名 like ‘模糊的内容及通配符’

注意:只有字符串类型的数据才能使用like和通配符通配符:

  1. %:匹配0到多个任意字符(可以写前,后,中)

例如: select * from 表名 where name like ’张%’(匹配出name字段所有开头为张的数据)

  1. :匹配一个任意字符,如果要两个就两个 _

例如: select * from 表名 where name like ’张_’(匹配出name字段张开头的两个字的数据)

  1. []:用于指定一个字符集合(注意前面的关键词是:rlike 或者regexp,日期类不适用)

例如:rLike ‘5[a,b,c]’ 可匹配出: 5a,5b,5c

rLike ‘5[abc]’ 可匹配出: 5abc

注意:,表示可选其中一个

rLike ‘5[a%]’ 可匹配出:5a%

rLike ‘5[a_]’ 可匹配出:5a_

注意:方括号内的%或者_都只是字符,不是通配符

rLike ‘[a-d]’ 可匹配出:a,b,c,d

rLike ‘[^a]’ 可匹配出:不为a的所有

四.条件运算符

  1. in == or

Select * from 表名 where 字段名 in(‘内容1’,’内容2’)

  1. between 包含小的值 and 包含大的值 == and

可以是数字和日期类型,取值包括边界值。

Select * from 表名 where 字段名 between ‘1970-01-01’ and ‘1980-10-10’;

注意:这类条件运算符与之前学的 or/and 优点是:当选择条件很多时,采用这类的运行效率更高

发布了32 篇原创文章 · 获赞 96 · 访问量 1583

猜你喜欢

转载自blog.csdn.net/qq_44534541/article/details/105500895