mysql查询
一、单表查询
1、 查询所有字段
SELECT * FROM 表名;
2、 查询指定字段
SELECT 字段名 FROM 表名;
3、查询指定数据
select * from tb_login where user = 'mr';
4、 查询computer_stu表中score不等于85的记录
select * from computer_stu where score <> 85;
5、带IN关键字的查询
SELECT * FROM 表名 WHERE 条件 [NOT] IN(元素1,元素2,…,元素n);
6、 带BETWEEN AND的范围查询
SELECT * FROM 表名 WHERE 条件 [NOT] BETWEEN 取值1 AND 取值2;
7、带LIKE的字符匹配查询
查询tb_login表中user字段中包含mr字符的数据
select * from tb_login where user like '%mr%';
8、正则表达式
匹配指定字符中的任意一个
+”至少表示一个字符
“*”可以表示0个字符
匹配以指定的字符开头和结束的记录
正则表达式中,^表示字符串的开始位置,$表示字符串的结束位置。
9、 用IS NULL关键字查询空值
使用关键字IS NULL查询 tb_book表中row字段的值为空的记录
SELECT books,row FROM tb_book WHERE row IS NULL;
10、 带AND的多条件查询
select * from 数据表名 where 条件1 and 条件2 […AND 条件表达式n];
11、带OR的多条件查询
select * from 数据表名 where 条件1 OR 条件2 […OR 条件表达式n];
12、用DISTINCT关键字去除结果中的重复行
select distinct 字段名 from 表名;
13、用ORDER BY关键字对查询结果排序
ORDER BY 字段名 [ASC|DESC];
ASC表示按升序进行排序 DESC表示按降序进行排序
14、 用GROUP BY关键字分组查询
使用关键字GROUP BY对tb_book表中talk字段进行分组查询
select id,books,talk from tb_book GROUP BY talk;
使用关键字GROUP BY和GROUP_CONCAT()函数对tb_book表中的talk字
段进行分组查询
SELECT author,GROUP_CONCAT(bookname) FROM tb_bookinfo GROUP
BY author;
对数据表tb_book表中user字段和talk字段进行分组,分组过程中,先按照
user字段进行分组,当user字段的值相等时,再按照talk字段进行分组
select id,books,talk,user from tb_book GROUP BY user,talk;
Having子句
在school库的school表中,按照班级对学生进行分组,并查询出每个班级的学
生数,学生的平均身高,最低身高
SELECT class,COUNT(class),AVG(height),MIN(height) FROM school
GROUP BY class;
查询出存在身高低于160的班级及班级人数
SELECT class,COUNT(class),AVG(height),MIN(height) FROM school
GROUP BY class HAVING MIN(height)<160;
15、 用LIMIT限制查询结果的数量
查询数据表tb_login中,按照id编号进行升序排列,显示前3条记录
select * from tb_login order by id asc limit 3;
查询tb_login表中,按照id编号进行升序排列,从编号1开始,查询两条记录
select * from tb_login where id order by id asc limit 1,2;
二、 聚合函数查询
1、COUNT()函数,对于除“*”以外的任何参数,返回所选择集合中非NULL值的
行的数目;对于参数“*”,返回选择集合中所有行的数目,包含NULL值的行。
使用count()函数统计数据表 tb_login中的记录数
select count(*) from tb_login;
2、 SUM()函数可以求出表中某个字段取值的总和。
使用sum()函数统计数据表 tb_book中图书的访问量字段(row)的总和
select sum(row) from tb_book;
3、 AVG()函数可以求出表中某个字段取值的平均值。
使用AVG()函数求数据表tb_book中row字段值的平均值
select AVG(row) from tb_book;
4、MAX()函数可以求出表中某个字段取值的最大值。
使用MAX()函数查询数据表tb_book中row字段的最大值
select MAX(row) from tb_book;
5、MIN()函数可以求出表中某个字段取值的最小值
使用MIN()函数查询数据表tb_book中row字段的最小值
select MIN(row) from tb_book;
6、 日期和时间函数
CURDATE()和CURRENT_DATE()函数获取当前日期。
CURTIME()和CURRENT_TIME()函数获取当前时间
NOW()函数获取当前日期和时间。