字符匹配查询
使用LIKE关键字的查询又称为模糊查询,通常用于查询字段值包含某些字符的记录,语法形式如下:
SELECT {*|col_list} FROM table_name WHERE col_namea LIKE valueb;
1、 通配符 %
1)、通配符“%”可以匹配任意长度的字符,可以是0个,也可以是1个或多个。
查询tb_goods表中name值以“果”开头的记录,结果如下:
mysql> SELECT * FROM tb_goods WHERE name LIKE '果%';
2)、查询tb_goods表中name值以“糖”结尾的记录。
SELECT * FROM tb_goods WHERE name LIKE '%糖';
3)、查询tb_goods表中name值包含“游”的记录。
SELECT * FROM tb_goods WHERE name LIKE '%游%';
4)、查询tb_goods表中name值以“休”开头,以“服”结尾的记录。
SELECT * FROM tb_goods WHERE name LIKE '休%服';
通配符“%”可以出现在匹配字符的任意位置,并且可以匹配任意数目的字符。
2、 通配符 _
通配符“_”的使用方法与通配符“%”类似,都可以出现在匹配字符的任意位置,但通配符“_”只能匹配一个字符。
查询tb_goods表中name值以“西”开头,“西”后有两个字符的记录,结果如下所示。
mysql> SELECT * FROM tb_goods WHERE name LIKE '西__';
如果要查询tb_goods表中name值以“西”开头,“西”后有一个字符的记录,则执行以下语句即可。
SELECT * FROM tb_goods WHERE name LIKE '西_';
排序查询
使用前面的方法查询到的结果是按照记录在表中的默认顺序进行排列的。如果需要将查询结果按照指定的顺序排列,可以使用ORDER BY关键字。语法形式如下:
SELECT {*|col_list} FROM table_name ORDER BY col_namea [ASC|DESC];
ASC:升序-- 默认排序方式
DESC:降序
1、单字段排序
注意:在排序之前最好将有空值的记录补充完整,否则,空值记录将被排在最前面。
查询tb_goods表中id、name和add_time字段的数据,并按照add_time字段值进行排序,结果如下:
mysql> SELECT id,name,add_time FROM tb_goods ORDER BY add_time; <