MySQL全面瓦解20:可编程性之流程控制语句

背景 说到流程控制语句,我们在程序语法中用的比较多,比如C#的if..else...,while...,?: 等。同样的,在MySQL中,也有一些流程控制的语法,方便我们在写函数、存储过程的时候对逻辑进行控制和处理。 常见的过程式SQL语句可以用在存储过程或者函数体中。其中包括:IF函数、IF条件语 ... »

mysql5.5 升级至5.7

mysql5.5 升级至5.7 ##1.下载mysql5.7.32 官方下载地址 解压 tar xvf mysql.tar.gz mysql/ 1. 进入旧的mysql的bin目录下导出mysql的数据 ./mysql -uroot -pxxxx -h127.0.0.1 -P3306 </home/ ... »

MySQL数据库基础知识及优化

MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 SQL语句基础知识及优化 SQL语句主要分为哪几类 * 数据据定义语言DDL(Data Definitio ... »

MySQL全面瓦解19:游标相关

定义 我们经常会遇到这样的一种情况,需要对我们查询的结果进行遍历操作,并对遍历到的每一条数据进行处理,这时候就会使用到游标。 所以:游标(Cursor)是处理数据的一种存储在MySQL服务器上的数据库查询方法,为了查看或者处理结果集中的数据,提供了在结果集中一次一行遍历数据的能力。 游标主要用在循环 ... »

MySQL全面瓦解18:自定义函数

定义 我们之前学习了MySQL的内置函数,非常丰富,满足了我们对数据操作的大部分需求。 但是如果有一些复杂的业务逻辑在数据库层面就可以完成,无需在程序层面完成的时候,这时候就可以写成MySQL自定义函数。 所以,函数是指 一组预编译好的sql语句集合,理解成批处理语句。类似于C# 中的方法,并且必须 ... »

详解MySQL执行事务的语法和流程

摘要:MySQL 提供了多种存储引擎来支持事务。 MySQL 提供了多种存储引擎来支持事务。支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 REDO 日志实现,MyISAM 存储引擎不支持事务。 拓展:任何一种数据库,都会拥有各种各样的日志 ... »

MySQL全面瓦解17:触发器相关

关于触发器 现实开发中我们经常会遇到这种情况,比如添加、删除和修改信息的时候需要记录日志,我们就要在完成常规的数据库逻辑操作之后再去写入日志表,这样变成了两步操作,更复杂了。 又比如删除一个人员信息的时候,需要将他的购物记录、收货地址、收藏夹等都删了,这个连续的操作容易出错,一致性和完整性不好保证。 ... »

JDBC入门程序总结

####JDBC本质 只是一个接口 每个数据库的规范 就是实现类的接口 其实是官方 定义的一套操作所有关系型数据库的规则,就是接口,各个数据库厂商去实现这套接口,提供数据库驱动jar包, 我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类 1.mysql驱动包准备 mysq ... »

kill 指令的执行原理

kill 指令有两种写法 " kill query + 线程 id "、" kill connection(可缺省) + 线程 id "。分别表示关闭指定线程正在执行的语句、断开指定线程连接的客户端(如果有正在执行的操作会先停止执行的操作再关闭连接)。但某些情况下使用 kill query 后使用 ... »

MySQL全面瓦解16:存储过程相关

概述 大多数SQL语句都是针对一个或多个表的单条语句。但并非所有业务都这么简单,经常会有复杂的操作需要多条语句才能完成。 比如用户购买一个商品,要删减库存表,要生成订单数据,要保存支付信息等等,他是一个批量的语句执行行为。 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可 ... »

数据库MySQL(带你零基础入门MySQL)

(一)认识数据库 redis默认端口:6379 mysql默认端口:3306 什么是数据库? 数据库的英文单词:data base,简称DB。 数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作。 (总 ... »

MySQL基本操作

MySQL 常用操作 1. 连接数据库 mysql -h 192.168.0.3 -uroot -p123456 2. 创建数据库/表 create database test_db default charset utf8mb4; # 查看建库语句 show create database tes ... »

MySQL多版本并发控制——MVCC机制分析

MVCC,即多版本并发控制(Multi-Version Concurrency Control)指的是,通过版本链维护一个数据的多个版本,使得读写操作没有冲突,可保证不同事务读写、写读操作并发执行,提高系统性能。 实际上,innodb中“读已提交”和“可重复读”这两种隔离级别的事务在查询数据时访问版 ... »

MySQL学习Day01

1、MySQL的层级关系 2、xampp的安装使用 如果之前安装过mysql那么就需要将原来的mysql完全卸载干净 1.卸载之前安装的MySQL 安装xampp需要先卸载之前的mysql,以及更改mysql的服务路径,才可以在xampp中启动mysql 更改mysql服务路径:在注册表(win+r ... »

浅谈sql索引

索引是什么 假如你手上有一个你公司的客户表,老板说找什么客户你就得帮他找出来。 客户不多的时候,你拿着手指一行一行滑,费不了多少时间就能找到。 后来公司做大了,客户越来越多,好几页的客户,你发现,一行一行滑真的好累啊,最主要找慢了还得挨老板叼。 他妈的,吃力不讨好。 那咋办? 我相信这么聪明的你不会 ... »

阿里面试官:什么是MySQL索引,为什么要有索引?

一、什么是索引? 索引就好比字典的目录一样 我们通常都会先去目录查找关键偏旁或者字母再去查找 要比直接翻查字典查询要快很多 二、为什么要有索引? 然而我们在使用mysql数据库的时候也像字典一样有索引的情况下去查询,肯定速度要快很多 2.1问题: 1.mysql数据存储在什么地方? 磁盘 2.查询数 ... »

docker+mysql集群+读写分离+mycat管理+垂直分库+负载均衡

依然如此,只要大家跟着我的步骤一步步来,100%是可以测试成功的 centos6.8已不再维护,可能很多人的虚拟机中无法使用yum命令下载docker, 但是阿里源还是可以用的 因为他的centos-vault仓库里放了之前版本的centos的包 只需要在centos命令行界面下执行一下几条命令 s ... »

MySQL 集群知识点整理

随着项目架构的不断扩大,单台 MySQL 已经不能满足需要了,所以需要搭建集群将前来的请求进行分流处理。博客主要根据丁奇老师的专栏<<MySQL实战45讲>>学习的总结。 架构 MySQL的集群和 Redis 集群类似,都是默认为master 库,可以设置为从库,主库负责处理写请求,从库处理读请求。 ... »

Python+MySQL随机试卷及答案生成程序

一、背景 本文章主要是分享如何使用Python从MySQL数据库中面抽取试题,生成的试卷每一份都不一样。 二、准备工作 1.安装Python3 下载地址:https://www.python.org/downloads/windows/ 2.安装库 pip install python-docx== ... »

Excel数据导入MySQL

一、背景 本章主要分享的是将Excel存放的数据导入到MySQL存放。 二、准备工作 1.安装Python3 下载地址:https://www.python.org/downloads/windows/ 2.安装库 pip install PyMySQL==1.0.2 pip install xlr ... »