教你怎么用Python操作MySql数据库
一、关于Python操作数据库的概述
Python所有的数据库接口程序都在一定程度上遵守 Python DB-API 规范。
DB-API定义了一系列必须的对象和数据库存取方式,以便为各种底层数据库系统和多种多样的数据库接口程序提供一致的访问接口。由于DB-API 为不同的数据库提供了一致的...[2021/5/31]
MySQL之数据定义语言(DDL)
写在前面
本文中 [ 内容 ] 代表啊可选项,即可写可不写。
SQL语言的基本功能介绍
SQL是一种结构化查询语言,主要有如下几个功能:
数据定义语言(DDL):全称Data Definition Language
数据操纵语言(DML):全称Data Manipulation Lan...[2021/5/31]
mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神
最近在做项目优化,代码优化之后,测试接口,好家伙。一个定时任务接口执行要10秒左右。
一点点追踪,给每个方法打上执行时间,一点点缩小范围。好家伙,终于让我锁定了目标。
这是mybatis-plus的批量插入,由于调用的是第三方接口,他们有多...[2021/5/31]
MySQL索引
MySQL
1.什么是索引
定义:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
索引的一个主要目的就是加快检索表中数据,亦即能协助信息搜索者尽快的找到符合限制...[2021/5/31]
MySQL修改用户权限
最近测试中台的存储服务,涉及到MySQL用户操作的命令,记录一下。
1、查看所有用户
select user from mysql.user;
2、查看当前登陆用户
select user();
3、创建用户
CREATE USER ''usernam...[2021/5/31]
吓尿,给小表加个字段,把数据库搞挂了
一天下午,在给线上一个小表加个字段,发现老是加不上去,一直卡死。运维同学突然跑过来跟我说,线上数据库这半个小时一直在重启,问我是否有做什么操作。我当时虎躯一震,总共100多行的小表加个字段都加出问题了?我立马停止尝试加字段,果然数据库恢复正常了。后面查到原因,也顺利加上字段,现在来复盘总结一下。...[2021/5/31]
MySQL优化|in和exists的使用区别
本篇文章没有实际案例,只说明用法,主要说一下in和exists的使用区别。
在开始前,分享给大家我看过觉得讲数据库讲的算是很不错的,也在B站拥有百万播放量的教程。
这个MySQL视频是动力节点的老杜讲解,个人也很喜欢老杜的教学风格,老杜真的是从MySQL基础一点点带我入门,基础也学得很扎实。...[2021/5/31]
看完这篇还不懂 MySQL 主从复制,可以回家躺平了~
大家好,我是小羽。
我们在平时工作中,使用最多的数据库就是 MySQL 了,随着业务的增加,如果单单靠一台服务器的话,负载过重,就容易造成宕机。
这样我们保存在 MySQL 数据库的数据就会丢失,那么该怎么解决呢?
其实在 MySQL 本身就自带有一个主从复制的功能,可以帮助我们实现负载均...[2021/5/31]
MYSQL性能优化-CPU/内存/磁盘
选择合适的CPU
本文来自:https: www.cnblogs.com/wangchaozhi/p/mysql_performance_stat.html
多核CPU,并支持64位应用,可以使用更多的内存。
配置MYSQL的IO线程与CPU核数一致。
通过以下命令查看当前配置的配置,默认...[2021/5/31]
MySQL之完整性约束
完整性约束
完整性约束的定义
为了保证插入数据的正确性和合法性,给表中字段添加,除了数据类型约束以外的其他约束条件。
完整性约束的分类
实体完整性:记录之间不能重复。
主键约束(primary key):唯一并且不能为空
唯一约束(unique):唯一可以为空
主键自增(auto_inc...[2021/5/31]
记Centos下安装JDK与MySQL
简介
由于我比较喜欢使用压缩包来安装,因此此处的示例都是以压缩包来示例的。同理,这并不是一篇正式的文章,所以措辞会显得有点随意且不专业。
准备
到此处选择下图中标注的 JDK 版本:
这里需要注意,因为我的服务器是64位的,所以选择图中所标注的那个版本,如果你的系统是32位的,那么选择相...[2021/5/31]
MySQL之数据操纵语言(DML)
数据操纵语言(DML)
数据操纵语(Data Manipulation Language),简称DML。
DML主要有四个常用功能。
增
删
改
查
insert
delete
update
select
# 创建数据库
create database if not ex...[2021/5/31]
.Net Core导入千万级数据至Mysql的步骤
前期准备
订单测试表
CREATE TABLE `trade` (
`id` VARCHAR(50) NULL DEFAULT NULL COLLATE ''utf8_unicode_ci'',
`trade_no` VARCHAR...[2021/5/24]
MySQL 笔记MySQL 笔记
1、启动/关闭Mysql服务
net start mysql 启动服务
net stop mysql 停止服务
2、链接MySQL
mysql -h主机地址 -u用户名&nbs...[2021/5/24]
MySQL5.7安装教程(亲测有效)
跟着狂神学java到了数据库阶段了,首先得安装好数据库啊,这里用的是MySQL
压缩包下载:https: dev.mysql.com/get/Download MySQL-5.7/mysql-5.7.19-winx64.zip
解压
把这个包放到自己的电脑环境目录下(我的是D:...[2021/5/24]
mysql配置优化
1、innodb_flush_log_at_trx_commit :事务日志提交策略即提交事务的时候将 redo 日志写入磁盘中的时机。
等于0:等于0表示每次提交事务时将数据提交到mysql redo log buffer 中即表示操作成功,数据的落盘依靠 InnoDB ...[2021/5/24]
mysql主从同步
一、为什么使用主从
在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。
做数据的热备,主库宕机后能够及时替换主库,保证业务可...[2021/5/24]
mysql分库分表
一、垂直拆分
1、垂直分库:在分布式系统开发中,基本都是按照模块划分,每个业务模块建立一个数据库
特点:业务区分度高,方便维护管理;各个模块独立维护,可以分摊系统的维护成本,提高可用性。
2、垂直分表:单张宽表,根据实际业务场景,可以拆分为多个子表。
垂...[2021/5/24]
Mysql与redis缓存一致性Mysql与redis缓存一致性
在高并发场景下单单使用mysql提供数据服务显然,是无法满足系统的吞吐量,目前的系统架构中我们一般会采用redis做数据缓存,以此避免请求过多的走数据库从而影响系统性能。但是在高并发场景下保持mysql与redis数据的一致性问题不容忽视。
一、缓存的使用
二、m...[2021/5/24]
MySQL学习总结之路(第四章:运算符)MySQL学习总结之路(第四章:运算符)
目录
MySQL学习总结之路(第一章:服务与数据库管理)
MySQL学习总结之路(第二章:表)
MySQL学习总结之路(第三章:数据类型)
MySQL学习总结之路(第四章:运算符)
1.1、算数运算符
MySQL支持的算术运算符
运算符
作用
...[2021/5/24]
Navicat Premium15 注册激活-数据库管理工具
目录注册激活步骤1、下载Navicat Premium2、激活Navicat Premium3、点击右上角 Patch4、点击确定5、打开navicat软件资源获取
注册激活步骤
1、下载Navicat Premium
官网https: www.navicat.com.cn/下载最新版本下载...[2021/5/24]
墙裂推荐一波mysql学习资源
在日常工作与学习中,无论是开发、运维、测试,还是架构师,数据库是一门必不可少的”必修课”, 也是必备的涨薪神器。在互联网公司中,开源数据库用得比较多的当属 MySQL 了。
但mysql知识面非常广,知识点也很零散,学习过程是比较曲折的,对于新手,往往不知道从哪里入手,学数据库,到底是要学它的...[2021/5/24]
mysql 索引十连问| 剑指 offer - mysql
以下是结合网上及此前面试时遇到的一些关于mysql索引的面试题。
若对mysql索引不太了解可先翻阅相关文章
大白话 mysql 之深入浅出索引原理 - 上
大白话 mysql 之深入浅出索引原理 - 下
什么是索引?
索引类似书本的目录,查询书中的指定内容时,先在目录上查找,之后可快速...[2021/5/24]
故事篇:数据库架构演变之路
故事的开头总是这样,适逢其会、猝不及防。今天我哼着“也是黄昏的沙滩上,有着脚印两对半......”在海边散步,迎面走来了一位身穿黄金甲的男子,来海边还穿这么花哨,真是个傻X。定睛一看,这不是嘉文吗?
> 背景介绍:嘉文四世,德玛西亚皇子,是有名的高富帅。与盖伦、菊花信并称草丛三剑客,...[2021/5/24]
mysql织梦索引优化之MySQL Order By索引优化_dedecms
在一些情况下,MySQL可以直接使用索引来满足一个ORDER BY 或GROUP BY 子句而无需做额外的排序。尽管ORDER BY 不是和索引的顺序准确匹配,索引还是可以被用到,只要不用的索引部分和所有的额外的ORDER BY 字段在WHERE 子句中都被包括了。
使用索引的MySQL Or...[2021/5/17]
MySQL学习总结之路(服务与数据库管理)MySQL学习总结之路(服务与数据库管理)
今天开始通过自学MySQL总结一些方法和一些基础的内容,写在这里,和大家一起讨论学习进步。(现在东西少,第一次写有这类结构的东西,过几天会出一个整体目录结构,方便查看)
安装部署直接跳过,我使用的版本是5.7,直接开写
目录
MySQL学习总结之路(第一章:服务与数据库管理)
MySQL学...[2021/5/17]
面试必备常见存储引擎与锁的分类,请查收
我们在上篇文章中提到了记录锁(行锁)、间隙锁和临键锁,后台有小伙伴催我更新一下其他的锁。拖延症又犯了,趁周末,今天我们来总结一下MyISAM和InnoDB引擎下锁的种类及使用方法。
MySQL的四大常见存储引擎
谈到MyISAM和InnoDB了我们先来了解一下什么是存储引擎吧。MySQL中的数...[2021/5/17]
MySQL学习总结之路(第二章:表)
目录
MySQL学习总结之路(第一章:服务与数据库管理)
MySQL学习总结之路(第二章:表)
MySQL学习总结之路(第三章:数据类型)
......
1、创建表
1.1、创建表基本语法:
CREATE TABLE tablename (column_name_1 col...[2021/5/17]
(9)MySQL进阶篇SQL优化(InnoDB锁-记录锁)(9)MySQL进阶篇SQL优化(InnoDB锁-记录锁)
1.概述
InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则InnoDB将使用表锁!在实际应用程序中,要特别注意Inno...[2021/5/17]
(10)MySQL进阶篇SQL优化(InnoDB锁-间隙锁)
1.概述
当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但并不存在的记录,叫做“间隙(GAP)”,InnoDB也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁(Next-Key锁)。
2.InnoDB存储引...[2021/5/17]
MySQL死锁案例分析
最近项目中某个模块稳定复现MySQL死锁问题,本文记录死锁的发生原因以及解决办法。
1. 预备知识
1.1 表锁和行锁
表锁
表锁是MySQL中最基本的锁策略,并且是开销最小的策略。表锁会锁定整张数据表,用户的写操作(插入/删除/更新)前,都需要获取写锁(写锁会相互阻塞);没有写锁时,读取...[2021/5/17]
MySQL版本引起的错误
各位看官可以关注博主个人博客,了解更多信息。
作者:Surpa er
链接地址:https: urpa .org.cn
前言
接上一篇帖子,博主在CentOS上安装了最新版的MySQL容器(版本为8.0.19),在使用本地springBoot项目连接,启动项目后操作登录系统时报错。
问...[2021/5/17]
通过Python将监控数据由influxdb写入到MySQL
一.项目背景
我们知道InfluxDB是最受欢迎的时序数据库(TSDB)。InfluxDB具有 持续高并发写入、无更新;数据压缩存储;低查询延时 的特点。从下面这个权威的统计图中,就可以看出InfluxDB的热度。
InfluxDB可以作为 性能监控、应用程序指标、物联网传感器...[2021/5/17]
MySQL | 第2部分-MySQL的下载,安装,配置
环境说明:
WIndows 10
mysql 8.0
下载 mysql
方式1
官网地址 : 传送门 | 直达的界面:传送门
使用此界面使用的教程:传送门
方式2
百度云网盘下载地址1: 下载 ;提取码:oj8n | 百度云网盘下载地址2:下载 ;提取码:e39z
教程: 传...[2021/5/17]
在 macOS Big Sur 上安装 MySQL 8.x Compressed TAR Archive在 macOS Big Sur 上安装 MySQL 8.x Compressed TAR Archive
因个人能力有限,文章难免存在错误,望斧正,感谢。
版本:
macOS 11.3 Intel版本
MySQL 8.0.24 Compre ed TAR Archive
一、准备所需文件
前往 https: dev.mysql.com/download mysql/ 选择macOS系统的C...[2021/5/17]
JavaWeb——JDBC
内容索引
1. JDBC基本概念
2. 快速入门
3. 对JDBC中各个接口和类详解
JDBC:
1. 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库
* JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规...[2021/5/17]
MySQL索引知识的一些小妙招总结
一、索引基本知识
1.1 索引的优点
大大减少了服务器需要扫描的数据量,加快数据库的检索速度
帮助服务器避免排序和临时表
将随机io变成顺序io
1.2 索引的用处
速查找匹配WHERE子句的行
从consideratio...[2021/5/10]
MySQL数据库优化MySQL数据库优化
数据库优化
数据库优化分为以下几个大类:
SQL语句优化
事务优化
表结构优化
使用缓存和NoSQL数据库方式存储,如MongoDB/Memcached/Redis来缓解高并发下的数据库查询的压力
减少数据库操作次数,尽量使用数据库访问驱动的批处理方法
不常使用的数据迁移备份,避免每次都在海量...[2021/5/10]
MySQL架构体系
MySQL基本架构(一条SQL语句的执行过程)
MySQL主要可以分为Server层和存储引擎层。
Server层包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现。
存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持InnoDB(5.5后成为默认存储...[2021/5/10]
(8)MySQL进阶篇SQL优化(InnoDB锁-共享锁、排他锁与意向锁)
1.锁的分类
锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。之前MyISAM锁章节已经讲过锁分类,而InnoDB锁按照粒度分为锁定整个表的表级锁(table-level locking)和锁定数据行的行级锁(row-level locking): ●表级锁:开销小,加...[2021/5/10]
渗透-MySQL注入常用函数
函数名称
函数功能
函数名称
函数功能
system_user()
系统名称
concat()
没有分隔符的连接
user()
用户名
concat_ws()
含有分隔符的连接字符串
current_user()
当前用户名
group_concat()
连接一个组的所有字符...[2021/5/10]
MySQL kill不掉线程的原因
背景
在日常的使用过程中,时不时会遇到个别,或者大量的连接堆积在 MySQL 中的现象,这时一般会考虑使用 kill 命令强制杀死这些长时间堆积起来的连接,尽快释放连接数和数据库服务器的 CPU 资源。
问题描述
在实际操作 kill 命令的时候,有时候会发现连接并没有第一时间被 ...[2021/5/7]
MySQL 表空间碎片的概念及相关问题解决
背景
经常使用 MySQL 的话,会发现 MySQL 数据文件的磁盘空间一般会不停的增长,而且有时候删了数据或者插入一批数据的时候,磁盘空间有时候还会毫无变化。引发这个其妙现象的就是 MySQL 的表空间碎片。
什么是表空间碎片?
表空间碎片指的是表空间中存在碎片,形象一点来比喻的...[2021/5/7]
详解MySQL主从复制及读写分离
前言
在企业实际应用中,成熟的业务通常数据量都比较大,而单台MySQL服务器在安全性、高可用性和高并发方面都无法满足实际的需求,我们可以在多台MySQL服务器(Master-Slave)部署 主从复制来实现同步数据,再通过 读写分离来提升数据库的并发负载能力。有点类似于rsync,但是不同的是r...[2021/5/7]
Python基础之操作MySQL数据库Python基础之操作MySQL数据库
一、数据库操作
1.1 安装PyMySQL
pip install PyMySQL
1.2 连接数据库
python连接test数据库
import pymysql
host = ''localhost'' # 主机地址
username = '...[2021/5/6]
MySQL CentOS下安装MySQL
本文演示环境声明:CentOS 7 64位
移除旧的安装软件包
yum list installed | grep mysql # yum命令查询
yum remove -y 包名 # 删除
或:
rpm -aq | grep mysql # rpm命令查询
rpm...[2021/5/6]
第一节——初识数据库系统
什么是数据库?
数据库是具有关联关系的数据的集合(Collection of related data)
而关系型数据库则以表作为其基本核心,换句话说,这种类型的数据库是各种由相互关联的表(或关系)的集合。
表,从通常意义上来讲,有表名、表头以及一行行的数据组成,那么,如何形式化的定义表?...[2021/5/6]
SQL的语言分类&&数据查询语言 select 的学习(二) - zhang-snail
#进阶4:常见函数
概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 好处:1、隐藏了实现细节 2、提高代码的重用性 调用:select 函数名(实参列表) 【from 表】; 特点: ①叫什么(函数名) ②干什么(函数功能)
二、单行函数 1、...[2021/5/6]
Mysql添加索引
一、如何添加索引
索引的类型:
UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值
INDEX(普通索引):允许出现相同的索引内容
PROMARY KEY(主键索引):不允许出现相同的值
fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维
组合索引...[2021/5/6]
Mysql事务原理Mysql事务原理
一、什么是事务
事务:是数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行;事务是一组不可再分割的操作集合(工作逻辑单元);
事务的四大特性:
原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包含的各...[2021/5/6]