随笔分类 - MySQL
一切都是数据
摘要:一、概述 MySql一段时间后会强制让用户重置一次密码,必须重置用户密码才能使用该用户登录MySql,否则将会提示: ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executin
阅读全文
摘要:字段中的字符集必须是utf8mb4, 如果你建表的时候默认字符集不是这个,那么字段就必须指明使用的是这个字符集; COLLATE 随意,通常为了提供更好的排序性能一般会使用utf8mb4_general_ci; 连接时必须set names "utf8mb4"; 这是一段PHP示例 <?php //
阅读全文
摘要:概述 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 1. Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少
阅读全文
摘要:1.行锁和表锁 在mysql 的 InnoDB引擎支持行锁,与Oracle不同,mysql的行锁是通过索引加载的,即是行锁是加在索引响应的行上的,要是对应的SQL语句没有走索引,则会全表扫描, 行锁则无法实现,取而代之的是表锁。 2.连表锁机制 在连表操作中,双方表选中的所以行当中一旦有一条在锁定中
阅读全文
摘要:一、统计group by语句的行数 group by语句中,如果包含字段统计函数(诸如:count(),sum()...),这种情况下统计函数只会作用于group by的字段,因此想拿到最终结果的行数,只能靠返回结果后通过程序去遍历统计行数,这里有一个问题,如果被查询的结果过于庞大,这将耗费大量的系
阅读全文
摘要:group by 与 having 允许字段使用函数,根据函数运行的结果group by分组或having设置选择条件; 同时group by 与 having 也允许使用字段别名 示例表a: 示例表b: 应用示例: 1.单表格式化分组 2.单表格式化分组(使用别名) 3.单表格式化分组,havin
阅读全文
摘要:示例表A: 示例表B: 示例表C: 在以上表中执行AB表关联 结果 结果出现了2条author_id为1的记录,因为右表中存在了两条关联author_id=1的行 右边出现N条关联左边的记录,结果就会相应出现N条关联了右表出现的记录 在以上表中执行ABC表关联 结果 结果出现了3条author_id
阅读全文
摘要:一、多表子从查询 多表查询时,子查询可能会出现触发不了索引的情况 上面语句,test_1和test_public都WHERE了主键id,常理来说这个查询不存在问题,事实上主语句并不会触发索引,只有子语句触发了索引 这个时候可以把语句分拆成两个单独的语句去查询,或者关联表 二、手动强制索引和忽略索引
阅读全文
摘要:运用 可以快速创建一个用户拥有某表的SELECT操作; 运用 分析该用户的最终GRANT权限; MySql默认把test和test_*的数据库都赋予了所有操作权限,所以通过GRANT操作test和test_*的数据库是不生效的,只有通过root用户查询mysql.db表删除包含test的记录
阅读全文
摘要:以下示例用到的表: user id uid 3000 t_001 3001 t_002 3002 t_003 issue id uid 1 t_002 2 t_003 3 t_004 left join,左表返回所有记录,右表只返回跟左表有关联的记录,当右表有N条记录跟左表的某一条记录A关联,那么查
阅读全文
摘要:group by查询旨在把某字段中相同的记录合并成一列,查询结果可受count(),sum()等统计函数影响 如下表 id totalclick validclick 1 3 1 2 3 1 3 5 2 4 2 1 5 3 1 6 5 2 以validclick为分组,统计每个分组的记录数,和每个分
阅读全文
摘要:绝大多数的mysql在启动的时候都要加载一个配置文件,相信大多数的开发都碰到过类似问题,机器启动时mysql默认都会启动,默认使用mysql命令可以连上服务端,但是数据存储在什么地方,参数设置的是多少等等,这个就需要知道mysql使用的是哪个配置文件,那么mysql启动是按照什么顺序来加载配置文件的
阅读全文
摘要:这个命令有助于诊断性能低下的查询,尤其是查询是否使用了可用的索引。 下面介绍下 这个命令显示的结果列的含义: 1.Table 表的名称。 2.Non_unique 如果索引不能包括重复词,则为0。如果可以,则为1。 3.Key_name 索引的名称。 4.Seq_in_index 索引中的列序列号,
阅读全文
摘要:一、普通索引 这是最基本的索引,它没有任何限制。它有以下几种创建方式: 1.创建索引 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。 2.修改表结构 创建表的时候直接指定 删除索引的语法,DROP INDEX语法可以删除包
阅读全文
摘要:一、MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界。比如只允许你执行select操作,那么你就不能执行update操作。只允许你从某台机器上连接mysql,那么你就不能从除那台机器以外的其他机器连接mysql。 那么Mysql的权限是如何实现的呢
阅读全文
摘要:在传统的分页思路影响下,很多人都形成了对于分页的固定理解,也就是给出select语句,先用count()函数计算出总的条目,除与每个页面大小pagesize,然后用ceil取整,得出总的页数,用limit去查询每一页的结果。 这种做法的确带来了很多好处,它可以让前端马上知道查询的总记录数,并且马上可
阅读全文
摘要:一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0 LCASE (string2 ) //转换成小写
阅读全文

浙公网安备 33010602011771号