mysql中new语句_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语句才会缓存;其他均不予缓存

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

a835fb6e86992cad326d528691131a25.png

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: 读锁,共享锁

多表查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值