模糊查询LIKE
LIKE
用于在where子句中进行模糊查询,SQL LIKE子句中使用百分号%字符表示任意字符。
使用LIKE
字句从数据表中读取数据的通用语法:
SELECT
field1,field2,…fieldn
FROM
table_name
WHERE
field1LIKE
condition
select *from class_1 where name like 'A%';
正则查询REGEXP
mysql中对正则表达式的支持有限,只支持部分正则元字符。
SELECT
field1,field2,…fieldn
FROM
table_name
WHERE
field1REGEXP
condition
select *from class_1 where name regexp 'B.+';//不区分大小写
排序ORDER BY
ORDER BY
子句来设定想按照哪个字段那种方式来进行排序,在返回搜索结果。
使用ORDER BY
子句将查询数据排序后在返回数据
SELECT
field1,field2,…fieldn
FROM
table_name
WHERE
field1
ORDER BY
field1 [ASC
[DESC
]]
默认情况ASC
表示升序,DESC
表示降序
分页LIMIT
LIMIT
子句用于限制SELECT
语句返回的数据数量 或UPDATE,DELETE
语句的操作数量
带有LIMIT
子句的SELECT
语句的基本语法如下:
SELECT column1, column2,... columnn
FROM
table_name
WHERE
field
LIMIT
[num]
select * from class where order by score desc limit 3;//降序分数 数据的前3个
联合查询UNION
UNION
操作符用户连接两个以上的SELECT
语句的结果组合到一个结果集合中。多个SELECT
语句会删除重复的数据。
UNION
操作符语法格式:
SELECT
expression1, expression2, …expression
FROM
tables
[WHERE
conditions]
UNION [ALL | DISTINCT]
SELECT
expression1, expression2, …expression
FROM
tables
[WHERE
conditions]
expression1, expression2, …expression要检索的列
tables要检索的表
WHERE conditions:可选,要检索的条件
ALL:可选,返回所有结果集,包含重复数据。
DISTINCT:可选,删除结果集 中重复的数据,默认情况下UNION操作符已经删除了重复数据,所以DISTINCT操作符对结果没啥影响。
多表查询
多个表数据可以来联合查询,语法格式如下:
select 字段1,字段2,…from 表1,表2…[where 条件]
select myclass.name, myclass.age, myclass.sex,interest.hobby from myclass,interst where myclass.name = inretest.name;