[LeetCode]Mysql系列5】的更多相关文章

题目1 1112. 每位学生的最高成绩 编写一个 SQL 查询,查询每位学生获得的最高成绩和它所对应的科目,若科目成绩并列,取 course_id 最小的一门.查询结果需按 student_id 增序进行排序. 题解 注意这里grade的外层查询需要结合group by,或者查max(grade),或者使用join查grade 代码 # Write your MySQL query statement below select student_id, min(course_id) as cour…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事务.语句 第四篇:MySQL 系列(四) 主从复制.读写分离.模拟宕机.备份恢复方案生产环境实战 去年公司有一个七年PHP开发经验的工程师,想要跳槽. 去国内某知名互联网公司面试后,被虐惨了,非要我给他讲讲什么是主从复制. 那好吧,读这篇文章的人好帅! 元芳,你怎么看? 本章内容: 主从复制 简…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事务.索引.语句 前天有一个五年java开发经验工程师,问我存储过程怎么写? My god, 你这个也太 low 了! 本章内容: 视图.增/删/改/查 触发器.增/删/改/查 存储过程.增/删/改/查 存储过程三种传参,pymysql 怎么用? 函数.增/删/改/查/return值 内置函数 事…
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件.通配符_%.限制limit.排序desc\asc.连表join.组合union 查看建表语句.查看表结构.查看是否走索引 数据类型 索引! 一.数据库操作 1.查看数据库…
MySQL 系列(五) 多实例.高可用生产环境实战   第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数.事物.索引.语句 第四篇:MySQL 系列(四) 主从复制.读写分离.模拟宕机.备份恢复方案生产环境实战 第五篇:MySQL 系列(五) 多实例.高可用生产环境实战 本章内容: MySQL 多实例 简介 安装前的配置 生产环境屌炸天…
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件.通配符_%.限制limit.排序desc\asc.连表join.组合union 查…
MySQL系列(一)---基础知识大总结 前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里只是作为简单的介绍,但是具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是保存有组织数据的容器 DBMS是为管理数据库而设计的软件管理系统,MYSQL.ORACLE 等是数据库管理系统 MYSQL MYSQL是一种数据库管理软件 开放源码,免费使用 MYSQL命令 CREATE DATABASE NAME 创建数据库 USE…
MySql 事务 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 什么是事务(transaction) 保证成批操作要么完全执行,要么完全不执行,维护数据的完整性.也就是要么成功要么失败. 事务可以是n条sql语句(n>=0) 不是所有数据库引擎支持事务,InnoDB引擎支持事务处理 事务四大特性 原子性(Atomic):事务的所有所有操作要么全部执行,要么全部不执行.如果中途出现错误不会停止,而是回滚到事务前的状态 一致性(Consistency):如果事务执…
MySQL系列(三)---索引 前言:如果有疏忽或理解不当的地方,请指正. 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 MySQL系列(三):索引 什么是索引 如果没有索引,扫描的记录数大于有索引的记录数 索引存放索引列的值(比如id为索引列,那么存放索引列的值),和该索引值对应的行在内存中的地址(或者直接存储该行的数据) 如果索引采用的数据结构是hash表,那么这个时候,通过计算jaijun的hash值,O(1)复杂度就可以找到该记录的位置 hash索引…
MySql中的引擎 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 MySQL系列(三):索引 引擎种类 FEDERATED MRG_MYISAM MyISAM BLACKHOLE CSV MEMORY ARCHIVE InnoDB PERFORMANCE_SCHEMA 输入show storage Engines,可以看到当前mysql的所有引擎,本文主要讲常用的两种索引MyISAM和InnoDB 引擎使用 查看表的引擎,show create table t…
MySQL中的锁 目录 MySQL系列(一):基础知识大总结 MySQL系列(二):MySQL事务 MySQL系列(三):索引 MySQL系列(四):引擎 概述 MyISAM支持表锁,InnoDB支持表锁和行锁,默认为行锁 表级锁:开销小,加锁快,不会出现死锁.锁定粒度大,发生锁冲突的概率最高,并发量最低 行级锁:开销大,加锁慢,会出现死锁.锁力度小,发生锁冲突的概率小,并发度最高 MyISAM表级锁 锁模式 show status like 'table%' 可以分析锁争夺情况 表级锁分为两种…
前言 从11年毕业到现在,工作也好些年头,入坑mysql也有近四年的时间,也捣鼓过像mongodb.redis.cassandra.neo4j等Nosql数据库.其实一直想写博客分享下工作上的零零碎碎(日记倒是有坚持写),无奈比较懒,也就一直搁着了:近来心血来潮,着手整理之前的笔记就顺便把写博客的事补上,也算是温故知新,巩固之前学过用过的知识.从这篇<MySQL系列:高可用架构之MHA>开始后面会陆陆续续的分享一些关于MySQL高可用架构的东西. MHA介绍 MHA(Master High A…
Python开发基础之路 第十一篇:Mysql系列 Python-数据库 基本SQL语句 Python-数据类型 主键auto_increment Python-多表关联 外键 级联 Python-select 关键字 多表查询 子查询 Python-mysql 权限 pymysql 注入共计 Python-视图 触发器 事务 存储过程 Python- 索引…
前言 Mysql 采用多线程进行复制是从 Mysql 5.6 开始支持的内容,但是 5.6 版本下有缺陷,虽然支持多线程,但是每个数据库只能一个线程,也就是说如果我们只有一个数据库,则主从复制时也只有一个线程在工作.相当于还是以前的单线程. 从 Mysql 5.7 开始支持同一数据库下并行主从复制.不过默认情况下,还是单数据库单个线程,如果需要使用多线程,需要在从节点进行配置. Mysql 5.7 对主从复制增加了一种类型,共有两种类型,如下: DATABASE 基于库的并行复制 , 每个数据库…
一.使用zookeeper管理远程Mycat配置文件 环境准备: 虚拟机192.168.152.130: zookeeper,具体参考前面文章 搭建dubbo+zookeeper+dubboadmin分布式服务框架(windows平台下) 虚拟机192.168.152.128: 安装好Mycat,具体参考前面文章Mysql系列五:数据库分库分表中间件mycat的安装和mycat配置详解 本机: 搭建好zookeeper的客户端工具ZooInspector ,具体参考文章Zookeeper数据查看…
一.Mycat和Sharding-jdbc的区别 1)mycat是一个中间件的第三方应用,sharding-jdbc是一个jar包 2)使用mycat时不需要改代码,而使用sharding-jdbc时需要修改代码 Mycat(proxy中间件层): Sharding-jdbc(TDDL为代表的应用层): 二.Mycat分片join 在前面的文章Mysql系列四:数据库分库分表基础理论中,已经说过分库分表需要应对的技术难题有如下几个: 1.)分布式全局唯一id 2.)分片规则和策略 3.)跨分片技…
一.前言 在前面的文章Mysql系列四:数据库分库分表基础理论中,已经说过分库分表需要应对的技术难题有如下几个: 1. 分布式全局唯一id 2. 分片规则和策略 3. 跨分片技术问题 4. 跨分片事物问题 下面我们来看一下Mycat是如何解决分布式全局唯一id的问题的 二.Mycat全局序列号 Mycat保证id唯一的方式有如下几个: 1)本地文件方式 2)数据库方式 3)时间戳方式 4)ZKID生成器 5)ZK递增ID 推荐使用第4,5种 以上5中方式都要统一在server.xml文件中开启全…
原文: https://blog.csdn.net/ufo___/article/details/81164996 MySQL系列-优化之覆盖索引:  https://blog.csdn.net/UFO___/article/details/81162087 索引效果比对:    https://blog.csdn.net/weixin_39800144/article/details/81510785 like关键字我们也是经常使用,用来模糊查询用户名,那么like如何进行优化呢?这篇博客就简…
MySQL 系列(一)安装 以 Centos7 下安装 MySQL 5.6 为例. 一.环境准备 (1) 下载 下载地址: https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz (2) 安装依赖 yum -y install perl perl-devel autoconf libaio (3) 卸载已安装的 MySQL yum list installed | grep…
MySQL 系列(三)事务 一组要么同时执行成功,要么同时执行失败的 SQL 语句.是数据库操作的一个执行单元! 事务开始于: 连接到数据库上,并执行条 DML 语句(INSERT. UPDATE 或 DELETE). 前一个事务结束后,又输入了另外一条 DML 语句. 如果 JDBC 连接是在自动提交模式下,它在默认情况下,那么每个 SQL 语句都是在其完成时提交到数据库. 事务结束于: 执行 COMMIT 或 ROLLBACK 语句 执行条 DDL 语句,例如 CREATE TABLET 语…
MySQL 系列(二)Jdbc 一.Jdbc 基本操作 import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import org.junit.Test; public class TestJdbc { @Test public void run1() throws Exception{ //1.注册驱动 Cl…
LeetCode--single-number系列 Question 1 Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? Soluti…
MYSQL系列-Mysql存储引擎选择 //查看当前数据库支持的存储引擎 show engines \G; 创建表的时候可以通过engine=MyISAM指定存储引擎 MyISAM: .MYISAM不支持事务也不支持外键,其优势在于访问速度快,对事务完整性没有要求或者以select.insert为主的应用基本都可以使用MyISAM引擎. .MyISAM的表可能会损坏,可以使用check table语句来检查MyISAM表的健康,并可以使用repair table语句修复一个损坏的MyISAM表.…
良好的数据库逻辑设计和物理设计是数据库高性能的基础,所以对于数据库结构优化是很有必要的 数据库结构优化目的: 1.减少数据的冗余 2.尽量避免在数据插入.删除和更新异常 例如:有一张设计不得当的学生选课表 CREATE TABLE selectcourse( stu_no INT(11) NOT NULL COMMENT '学号', stu_name VARCHAR(10) NOT NULL COMMENT '学生姓名', birth_date TIMESTAMP NOT NULL DEFAUL…
这是mysql系列第3篇文章. 环境:mysql5.7.25,cmd命令中进行演示. 在玩mysql的过程中,经常遇到有很多朋友在云上面玩mysql的时候,说我创建了一个用户为什么不能登录?为什么没有权限?等等各种问题,本文看完之后,这些都不是问题了. 本文主要内容 介绍Mysql权限工作原理 查看所有用户 创建用户 修改密码 给用户授权 查看用户权限 撤销用户权限 删除用户 授权原则说明 总结 Mysql权限工作原理 mysql是如何来识别一个用户的呢? mysql为了安全性考虑,采用主机名+…
InnoDB在MySQL5.6版本后作为默认存储引擎,也是我们大部分场景要使用的,而InnoDB索引通过B+树实现,叫做B-tree索引.我们默认创建的 索引就是B-tree索引,所以理解B-tree索引的基本原理很重要,面试也是可能被问到的. 我们按照二叉查找树-->B树-->B+树-->B-tree索引-->页的顺序去了解 二叉查找树: 这里关于二分搜索树的原理就不做赘述了,可以参考:Java数据结构和算法(六)--二叉树 二分搜索树有个致命缺点就是数据如果是有序/倒叙插入的话…
安装就不说了,网上多得是,我的MySQL是8.0版本,可以参考:CentOS7安装MySQL8.0图文教程和MySQL8.0本地访问设置为远程访问权限 我的MySQL安装在阿里云上面,阿里云向外暴露端口,除了在/etc/sysconfig/iptables防火墙添加配置外,还需要到官网控制台安全组加入 端口,这是刚开始用阿里云服务器容易忽略的 本文为转载,PS内容为本人添加补充部分.原文地址:一千行 MySQL 学习笔记,博客时间是14年的,所以有些可能和8.0版本存在差异,但是 作为MySQL…
前面讲了如何设计数据库表结构.存储引擎.索引优化等内存,这篇文章会讲述如何进行SQL优化,也是面试中关于数据库肯定会被问到的, 这些内容不仅仅是为了面试,更重要的是付诸实践,最终用到工作当中 之前的MySQL内存地址:MySQL系列内容 如何获取存在性能的SQL: 1.通过生产环境用户.测试人员反馈的应用响应速度较慢,可能就是SQL性能较差导致的 2.通过慢查询日志获取 3.实时获取存在性能问题的SQL MySQL慢查日志: 参数: 1.slow_query_log 是否启动慢查询日志,默认不开…
按锁思想分类 悲观锁 优点:适合在写多读少的并发环境中使用,虽然无法维持非常高的性能,但是在乐观锁无法提更好的性能前提下,可以做到数据的安全性 缺点:加锁会增加系统开销,虽然能保证数据的安全,但数据处理吞吐量低,不适合在读书写少的场合下使用 乐观锁 优点:在读多写少的并发场景下,可以避免数据库加锁的开销,提高DAO层的响应性能,很多情况下ORM工具都有带有乐观锁的实现,所以这些方法不一定需要我们人为的去实现. 缺点:在写多读少的并发场景下,即在写操作竞争激烈的情况下,会导致CAS多次重试,冲突频…
系列文章 原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 一生挚友redo log.binlog<死磕MySQL系列 二> 前言 咔咔闲谈 上期根据一条查询语句查询流程分析MySQL的整体架构.同样,本期也使用一条查询SQL语句来做引子.可以肯定的是,查询语句执行的流程更新语句同样也会执行. 因此本期的着重点就不在MySQL架构图上,文章标题也给出了大家重点,就是要了解redo log.binlog. 一.redo log 第一步,创建一个表 user,…