超时参数相关
- 执行指令:
show variables like '%timeout%';
参数介绍:
- connect_timeout: 主要起作用于连接阶段,和数据库连接时的响应超时时间
- delayed_insert_timeout:insert语句执行时超时的时间
- wait_timeout: 对于连接状态为sleep,如果超过此时间,mysql会自动断开
- interactive_timeout:和wait_timeout一样,不同点是此参数为交互式连接的超时等待时间
查看当前连接
执行指令:
show processlist;
sql常用知识库
limit
order by: 用于排序,多个字段逗号隔开:select from language_pack order by id,purpose
desc、asc:指定排序顺序为降序、升序: select from language_pack order by id desc
is null:判空检查:select * from language_pack where purpose is null
常用操作符:
()
AND
OR
IN
BETWEEN
NOT
执行速度:IN > OR
优先级约束:() > AND > OR
常用通配符:
通配符是指用来匹配值的一部分特殊字符
问题:搜索时间比较长,效率比较低
条件:必须使用LIKE语句
- %(任意字符出现任意次数)
SELECT purpose FROM language_pack where purpose like "测试%";
- _ (仅匹配一个字符)
SELECT purpose FROM language_pack where purpose like "测_";
正则表达式:
REGEXP
正则表达式用于匹配字符串,它能够在文本内部查找字符,相对比较复杂的查询语句中使用比较方便
- 正则表达式查询不区分大小写,如果需要区分添加关键字BINARY
SELECT purpose FROM language_pack where purpose REGEXP "测";
SELECT purpose FROM language_pack where purpose REGEXP BINARY "测";
常用规则:
- or匹配,匹配任意个:
SELECT purpose FROM language_pack where purpose REGEXP "测|试";
- 匹配其中一个:
SELECT purpose FROM language_pack where purpose REGEXP "[测,试]";
- 预定义类说明:
合并显示查询的字段:
SELECT CONCAT(project_name_en,'{',project_name_zh,'}') FROM typicalprojectinfo
设置别名:
别名的用处:
- 当使用拼接(concat)输出数据时,列名未定义,使用别名易于客户端引用
- 重命名本身有问题的列名
SELECT CONCAT(project_name_en,'{',project_name_zh,'}') as mix_name FROM typicalprojectinfo
常用函数:
- CONCAT 拼接
1.文本处理函数
2.日期处理函数
注意:MySQL使用固定日期格式:yyyy-mm-dd,即任何插入日期都应使用此种格式
# 示例 1:数据库中存储日期+时间,如何可靠的根据日期进行查询?
select * from test where Date(order_time) = '2023-03-06'
# 示例 2:查询某个月的订单?
select * from test where Year(order_time) = 2023 and Month(order_time) = 3
3.数值处理函数
4.聚集函数
聚集函数主要的目的时汇总数据,如:汇总查询多少列、最大值、确定某个数据的行号等。此操作不需要返回具体查询的数据,而是根据数据进行某一项数据的获取
注意:MySQL本身自带很多标准偏差的函数,一些统计功能可依赖于其提供的函数,而非再软件中编写
5.组合查询
关键字:UNION,UNION ALL(列出重复项)
规则:
- 用于连接多个select 语句
- 每个select语句查询必须包含相同的列、项
- 列数据类型必须兼容,即可相互转换
注意事项:使用order by 必须在最后一个select语句后面,且只能有一个
6. 全文本搜索
支持的引擎:MyISAM
不支持的引擎:InnoDB
文档更新时间: 2023-03-07 03:21 作者:admin