zoukankan      html  css  js  c++  java
  • MySQL查询语句

    SELECT:

      重要组件:Query Cache

      查询执行路径中的组件: 查询缓存、解析器、预处理器、优化器、查询执行引擎、存储引擎

      SELECT语句的执行流程:

        FROM Clause --> WHERE Clause -->  GROUP BY --> HAVING Clause --> ORDER BY --> SELECT -->LIMIT

      单表查询:

        SELECT

        [ALL | DISTINCT | DISTINCTROW ]
        [HIGH_PRIORITY]
        [STRAIGHT_JOIN]
        [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
        [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
        select_expr [, select_expr ...]
        [FROM table_references
        [PARTITION partition_list]
        [WHERE where_condition]
        [GROUP BY {col_name | expr | position}
        [ASC | DESC], ... [WITH ROLLUP]]
        [HAVING where_condition]
        [ORDER BY {col_name | expr | position}
        [ASC | DESC], ...]
        [LIMIT {[offset,] row_count | row_count OFFSET offset}]

        

        mysql>SHOW GLOBAL VARIABLE LIKE 'query%';

        其中DISTINCT:数据去重

        SQL_CACHE:显示指定存储查询结果于缓存之中

        SQL_NO_CACHE:显示查询结果不予缓存

        query_cache_type的值为ON时,查询缓存功能打开

          SELECT的结果符合缓存条件即会缓存,否则,不予缓存

          显示指定SQL_NO_CACHE,不予缓存

        query_cache_type的值为‘’DEMAND'时,查询缓存功能按需进行;

          显示指定SQL_CACHE的SELECT语句才会缓存;其他均不予缓存

    怎么查询缓存命中率:查询命中次数/总查询数

      

      mysql>SHOW GLOBAL STATUS LOKE 'Qcache%';

      mysql> SHOW GLOBAL STATUS LIKE 'Com_se%'

      字段显示可以使用别名:

        SELECT name AS stuname FROM students;

      WHERE查询时指明过滤条件,实现选择的功能

        过滤条件:布尔型表达式;

        算术操作符:+ - * /  %

        比较操作符:=  !=  <>  <   >  >=  <=

        BETWEEN min_num AND max_num

        IN (element1,element2...)

        IS NULL

        IS NOT NULL

        LIKE:

          %: 任意长度的任意字符

          _:任意单个字符

        RLIKE:

        REGEXP:匹配字符串可用正则书写模式

      逻辑操作符:

        NOT   AND   OR   XOR

      GROUP:根据指定的条件把查询结果进行分组以用于做聚合运算

        avg(), max(), min(), count(), sum()

        HAVING:对分组聚合运算后的结果指定过滤条件

      ORDER BY: 根据指定的字段对查询结果进行排序

        升序:ASC

        降序:DESC

      LIMIT [[offset,]row_count]:对查询的结果进行数量限制

      对查询结果中的数据请求施加“锁

        FOR UPDATE: 写锁,排他锁

        LOCK IN SHARE MODE: 读锁,共享锁

    多表查询

      

  • 相关阅读:
    Maven3路程(五)用Maven创建Hibernate项目
    Eclipse中通过Hibernate Tools插件实现从数据库逆向生成Hibernate带注解的实体类
    Maven3路程(三)用Maven创建第一个web项目(1)
    jquery下载所有版本(实时更新)
    Oracle读取Blob数据-通过hibernate
    使用以下代码可以插入BLOB类型的图片或pdf文档到Oracle数据库中:
    Intellij IDEA系列 --GIT的初步使用
    java.lang.OutOfMemoryError GC overhead limit exceeded原因分析及解决方案
    idea如何安装使用jetty runner
    IntelliJ IDEA下SVN的配置及使用说明
  • 原文地址:https://www.cnblogs.com/new-journey/p/10457590.html
Copyright © 2011-2022 走看看