您的位置:首页 > 数据库 > MySQL

MySQL数据库之单表查询

2015-12-20 11:52 746 查看
1.select语句

select [distinct] * | {字段1,字段2,字段3,、、、}

from 表名

[where 条件表达式1]

[group by 字段名 [having 条件表达式2]]

[order by 字段名 [asc|desc]]

[limit [OFFSET] 记录数]

2.按条件查询

2.1带IN关键字的查询

IN关键字用于判断某个字段的值是否在指定的集合中,如果在集合中则满足条件,就可以被查出来。

2.2查询student表中ID值为1、2、3的记录

Select ID,grade,name,gender from studentwhere id IN (1,2,3);

如果查询不在则加NOT: Select ID,grade,name,gender fromstudent where id NOT IN(1,2,3);

2.2between and的使用:student表中学生ID在1~5之间的学生记录:Select ID,grade,name,gender from student where idbetween 1 and 5;

2.3空值查询:查询student表中gender为空的记录:Select ID,grade,name,gender from student where genderIS [NOT] NULL;

2.4 distinct关键字查询:过滤查询结果的重复数据,比如中是性别

Select distinctgender from student;

Select distinctgender name from student;只有同时满足gender和name重复时才当做重复处理。

2.5 like关键字查询:Select distinct gender from student where name like“s%”;

其中通配符%匹配任意长的字符串,包括空字符串。所以上句是查询学生表中名字开头为s的学生记录;where name like “w%g”,表示查询名字以w开头,g结尾的学生记录;where name like “%g%”;查询名字中有g的学生。

下划线“_”通配符:只能匹配单个字符,如:”c_ _g”之间包含两个字符,而且下划线之间不能有空格,如:”M_ _QL”只能匹配字符串“My SQL”,而不是”MySQL”。

通配符特殊含义:用”\%”表示‘%’,用‘\_’表示’_’。

3.高级查询:聚合函数count(),sum(),avg(),max(),min()

Select count(*) from student;

Select sum(grade) from student;

Select avg(grade) from student;

Select max(grade) from student;

Select min(grade) from student;

对查询结果进行排序: Select * from student order by grade asc|desc;

4.分组查询:group by一般和聚合函数一起使用,可以统计出某些字段在一个分组中的最大值、最小值等。

Selete count(*),gender fromstudent group by gender;

安照gender字段值进行分组查询,计算出每一个分组中有多少名学生。

5.group by 和having一起使用:having和where作用相同,对查询结果进行过滤,group by 和having一起使用,用于对分组后的结果进行过滤。

Select sum(grade) ,gender fromstudent group by gender having sum(grade)<300;

先按照gender分组查询,查询出grade之和小于300的分组。

6.limit限制查询结果的数量:

select 字段1,字段2,、、、

from 表名

limit [OFFSET] 记录数

offset表示偏移量,为0则从查询结果的第一个记录开始,为1则从第二个开始,默认为0.“记录数”表示返回查询记录的条数。

Select * from student limit 4;所以一个返回4条记录。

7.为表和字段去别名:

Select * fromstudent AS s where s.gender=’女’;

Select name ASstu_name,gender AS stu_gender from student;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: