Mysql之查询

来源:互联网 发布:s8不祥之刃符文 知乎 编辑:程序博客网 时间:2024/04/29 08:53

大神链接:http://www.cnblogs.com/whgk/p/6149009.html
我的笔记:

  1. like模糊查询:
    总结:’%’和’_’可以在任意位置使用,只需要记住%能够表示任意个字符,_只能表示一个任意字符
    例如:
    select * from user where user.name like ‘b%’表示查询b开头的所有数据
    ‘%b’表示查询以b结尾的所有数据
    ‘_b_’表示查询类似aba的任意中间为b的三位字符

  2. 第一个理解:分组查询group by,根据某个字段对记录分组
    例如:根据id查询id记录
    SELECT s_id, COUNT(f_name), GROUP_CONCAT(f_name) FROM fruits GROUP BY s_id;
    其中:GROUP_CONCAT(f_name)指将分到一组的所有f_name显示出来,结果如下:
    这里写图片描述

  3. HAVING和wehere
    having在分组后进行过滤,where分组之前过滤
    SELECT s_id,COUNT(f_name),GROUP_CONCAT(f_name) FROM fruits GROUP BY s_id HAVING COUNT(f_name) > 1;
    分组后过滤

  4. mysql分页,limit n,m 其中n指偏移量从第几个索引位置开始查询,可以省略默认为0,m为从n位置开始查询m行记录
    limit 10 表示查询前10行
    limit 10,10表示查询索引为10以后10行记录

  5. 合并查询
    UNION:不使用关键字ALL,执行的时候会删除重复的记录,所有返回的行度是唯一的,
    UNION ALL:不删除重复行不对结果进行自动排序

  6. 正则表达式的应用和模糊查询
    regexp ‘[tcl]’ 表示匹配t,c,l中一个字符即可

原创粉丝点击