随笔分类 -  MySQL

1
摘要:一、首先创建一张测试表,随便插入一点测试数据: CREATE TABLE `test_index` ( `id` int(11) NOT NULL AUTO_INCREMENT, `no` int(11) NOT NULL DEFAULT '0' COMMENT '订单号,int型', `no_st 阅读全文
posted @ 2022-10-15 15:38 幽篁晓筑 阅读(546) 评论(0) 推荐(0)
摘要:MySQL异常sql_mode=only_full_group_by 原因:在MySQL 5.7后MySQL默认开启了SQL_MODE严格模式,对数据进行严格校验。会报sql_mode=only_full_group_by错误说明写的SQL语句不严谨,对于group by聚合操作,select中的列 阅读全文
posted @ 2022-09-11 16:43 幽篁晓筑 阅读(3453) 评论(0) 推荐(0)
摘要:一、SUBSTRING_INDEX SUBSTRING_INDEX(str, delim, count) 根据 delim 符号分隔 str 字符串,并从第 count 分隔符截取,返回截取后的字符串。 str:待截取的字符串 delim:分隔符 count:索引,从第几个分隔符开始截取,如果 co 阅读全文
posted @ 2022-06-12 16:29 幽篁晓筑 阅读(314) 评论(0) 推荐(0)
摘要:MySQL支持实现group_concat() 内部自定义排序: 实例: 新建一张表 reward,表中数据如下: SQL: SELECT uid, GROUP_CONCAT(money ORDER by money DESC) AS money_desc FROM reward GROUP BY 阅读全文
posted @ 2022-05-01 19:35 幽篁晓筑 阅读(299) 评论(0) 推荐(0)
摘要:想要了解取值范围首先需要知道的是 bit 和 Byte 的概念 bit :位 二进制数系统中,位通常简写为 "b",也称为比特,每个二进制数字 0 或 1 就是一个位(bit)。位是表示信息的最小单位,其中 8 bit 就称为一个字节(Byte)。 Byte :字节 字节(Byte)是用于计量存储容 阅读全文
posted @ 2021-09-21 11:12 幽篁晓筑 阅读(1588) 评论(0) 推荐(0)
摘要:执行流程 如下图所示,我们可以看到当向 MySQL 发送一个请求时,MySQL 到底做了什么: 客户端发送一条査询给服务器。 服务器先检查査询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。 服务器端进行 SQL 解析、预处理,再由优化器生成对应的执行计划。 MySQL 根据优 阅读全文
posted @ 2021-09-11 10:16 幽篁晓筑 阅读(488) 评论(0) 推荐(0)
摘要:一、MySQL创建触发器语法: CREATE TRIGGER trigger_name {BEFORE|AFTER} {DELETE|INSERT|UPDATE} ON table_name FOR EACH ROW BEGIN END; 语法说明: trigger_name:触发器名称。 {BEF 阅读全文
posted @ 2020-11-23 17:47 幽篁晓筑 阅读(287) 评论(0) 推荐(0)
摘要:MySQL中有很多方法判断一个字符串中是否存在另一字符串,像比较常用的 like、in 这里就不多介绍了,今天主要介绍一下 find_in_set() 和 locate() 的使用。 一、find_in_set(str, strlist) find_in_set() 返回 strlist 中 str 阅读全文
posted @ 2020-08-09 11:00 幽篁晓筑 阅读(2841) 评论(0) 推荐(0)
摘要:假设有一个用户表 user,数据如下: 1、查询表中 uid 重复的数据 SELECT id, uid, name FROM USER WHERE uid IN (SELECT uid FROM USER GROUP BY uid HAVING COUNT(uid) > 1); 2、查询表中重复数据 阅读全文
posted @ 2020-05-16 18:48 幽篁晓筑 阅读(9019) 评论(0) 推荐(0)
摘要:一、内连接(INNER JOIN) 获取两个表中字段匹配关系的记录,需要两个表都满足条件的数据才会返回。如下图阴影部分所示区域。 实例:有一张表table_a,数据如下: 表table_b,数据如下: 内连接SQL(也可以省略INNER,直接用JOIN): SELECT a.aid, a.aname 阅读全文
posted @ 2020-05-02 16:38 幽篁晓筑 阅读(428) 评论(0) 推荐(1)
摘要:一、事务的概念 事务就是一组原子性的SQL查询,或者说一个独立的工作单元。如果数据库引擎能够成功地对数据库应用该组查询的全部语句,那么就执行该组查询。如果其中有任何一条语句因为崩溃或其他原因无法执行,那么所有的语句都不会执行。也就是说,事务内的语句,要么全部执行成功,要么全部执行失败。 可以通过一个 阅读全文
posted @ 2020-05-02 12:19 幽篁晓筑 阅读(264) 评论(0) 推荐(0)
摘要:一、开启慢查询日志首先需要了解四个参数: slow_query_log # 是否开启慢查询日志,默认OFF,开启则设置为 ON。 slow_query_log_file # 慢查询日志文件存储位置。 log_queries_not_using_indexes # 是否把没有使用到索引的SQL记录到日 阅读全文
posted @ 2019-11-10 13:41 幽篁晓筑 阅读(2517) 评论(0) 推荐(1)
摘要:在使用group_concat的过程中遇到个问题,这里记录一下:在MySQL中有个配置参数group_concat_max_len,它会限制使用group_concat返回的最大字符串长度,默认是1024。 查询group_concat_max_len大小: 修改group_concat_max_l 阅读全文
posted @ 2019-05-25 11:34 幽篁晓筑 阅读(4196) 评论(0) 推荐(0)
摘要:假设有一个表:reward(奖励表),表结构如下: CREATE TABLE test.reward ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) NOT NULL COMMENT '用户uid', money decimal(10, 2) NO 阅读全文
posted @ 2019-05-25 11:06 幽篁晓筑 阅读(21776) 评论(4) 推荐(3)
摘要:问题: 我们经常会使用到分页操作,这里有个问题,在偏移量非常大的时候,它会导致MySQL扫描大量不需要的行然后再抛弃掉。如: 上述这条SQL语句需要查询10020条记录然后只返回最后20条。前面的10000条记录都将被抛弃,这样代价非常高。 方法一、延迟关联 优化此类分类查询的一个最简单的办法就是尽 阅读全文
posted @ 2019-03-15 16:58 幽篁晓筑 阅读(2794) 评论(0) 推荐(0)
摘要:1、使用limit 当不需要取出全部数据时,在查询后面加上limit限制。 2、select * 每次看到select * 的时候都需要用怀疑的眼光审视,是不是真的需要返回全部的列。 3、重复查询相同的数据 有时可能会重复执行相同的查询,比如在用户评论的地方需要查询用户头像url,如果用户多次评论, 阅读全文
posted @ 2019-03-02 22:46 幽篁晓筑 阅读(430) 评论(0) 推荐(0)
摘要:索引是存储引擎用于快速找到记录的一种数据结构。索引优化应该是对查询性能优化最有效的手段了。索引能够轻易将查询性能提高几个数量级,"最优"的索引有时比一个"好的"索引性能要好两个数量级。 索引可以包含一个(单列索引)或多个列(组合索引)的值。 想要使用组合索引首先要了解一个原则:最左前缀原则。如果索引 阅读全文
posted @ 2018-11-17 12:29 幽篁晓筑 阅读(1033) 评论(0) 推荐(0)
摘要:前段时间看了《高性能MySQL》中的选择优化的数据类型,这里主要是做一下笔记。 首先数据选择有几个简单原则: 更小的通常更好。一般情况下,应该尽量使用可以正确存储数据的最小数据类型。例如只需要存 0~200,tinyint unsigned 更好。更小的数据类型通常更快,因为它们占用更少的磁盘、内存 阅读全文
posted @ 2018-11-07 22:47 幽篁晓筑 阅读(1762) 评论(0) 推荐(0)
摘要:MySQL时间戳与日期格式的相互转换,PHP时间戳与日期格式的相互转换 MySQL: 获取当前时间 时间日期格式转换成时间戳格式,UNIX_TIMESTAMP() 时间戳格式转换成时间日期格式,FROM_UNIXTIME() PHP: 获取当前时间戳 时间戳格式转换成时间日期格式 时间日期格式转换成 阅读全文
posted @ 2018-10-12 20:33 幽篁晓筑 阅读(112273) 评论(0) 推荐(0)
摘要:表结构: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) DEFAULT 0 COMMENT '用户id', score decimal(10, 2) DEFAULT 0.00 COMMENT 阅读全文
posted @ 2018-09-05 23:12 幽篁晓筑 阅读(4638) 评论(0) 推荐(0)

1