标签: mysql

37 篇文章

thumbnail
初识数据库
初识数据库 一、数据库管理软件的由来 基于我们之前所学,数据要想永久保存,都是保存于文件中,毫无疑问,一个文件仅仅只能存在于某一台机器上。 如果我们暂且忽略直接基于文件来存取数据的效率问题,并且假设程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题。 很不幸,这些假设都是你自己想象出来的,上述假设存在以下几个问题 1、程序所有的组件就…
thumbnail
库相关操作
库相关操作 一、系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等 performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象 mysql: 授权库,主要…
thumbnail
表相关操作
表相关操作 一、存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 1、什么是存储引擎 mysql中建立的库===>文件夹 库中建立的表===>文件 现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片用png等 数据库中的表…
thumbnail
记录相关操作
记录相关操作 一、介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SEL…
thumbnail
数据库IDE与pymysql模块
数据库IDE与pymysql模块 一、IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 在此我们推荐使用Navicat软件或pycharm来连接数据库,这样就能更详细直观地查询数据 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查…
thumbnail
视图,触发器与存储过程
视图,触发器与存储过程 一、视图 视图是一个虚拟表(非真实存在),其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需使用【名称】即可获取结果集,可以将该结果集当做表来使用。 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率…
thumbnail
流程控制
流程控制 一、条件语句 if条件语句 delimiter // CREATE PROCEDURE proc_if () BEGIN declare i int default 0; if i = 1 THEN SELECT 1; ELSEIF i = 2 THEN SELECT 2; ELSE SELECT 7; END IF; END // de…
thumbnail
索引
很多人会有一个误区,在一个软件开发完之后,等到发现这个软件运行地较慢时,才去添加索引,这就是一个错误的观点。因为如果当一个软件上线之后,发现运行速度很慢,这种“慢”可能并不是绝对意义上的很长时间,但即使某一条SQL语句只卡顿2~3秒,也会严重影响用户的体验。一旦这个问题出现以后,如果你再去“亡羊补牢”,就会发现并不一定是数据库结构带来的问题,当你将…
thumbnail
事务
事务 一、什么是事务? 事务是MySQL的一种机制,每开启一个事务,都可以往里放入一系列的SQL语句。 事务是单个逻辑工作单位执行的一系列操作,要么全执行,要么全不执行,每开一个事务,相当于给数据库拍了一张快照,这意味着在提交之前可以回滚,在事务中可以设置多个保存点,然后可以进行回滚到每个保存点 我们默认为每条sql开启事务,并且会在本条sql执行…
thumbnail
读现象与事务隔离机制
读现象与事务隔离机制 一、数据库读现象 读现象在本质上来说,是数据库在高并发场景下,多个同时执行的事务带来的影响。 数据库主要有三大常见的读现象: *脏读*:事务1和事务2并发执行,事务1改了数据,事务2读取了以后,但事务1进行了回滚,导致事务2读取的数据有误。 *不可重复读*:事务1读取了数据,事务2修改了数据并且提交了,接着事务1再次读取,发现…
thumbnail
锁机制
锁机制 一、什么是锁机制,为什么要用锁机制 我们可以通过一个很简单的比喻来理解事务的锁机制。比如同一个办公室的同事们,都想使用打印机打印文件,如果不加以控制,可能出现两个人同时打印不同的内容在一个文件里,就会引起内容混乱。于是,我们就引入了锁的概念,当有并发的多个事务同时操作同一份数据时,只有“抢到”了锁的事务,才能真正去操作数据,使得数据的安全性…
thumbnail
Meta选项
Meta选项 在模型类内部定义Meta类(可选的,所有选项都不是必须的),可以配置模型的元数据, 例如: 1、如排序选项(ordering) 2、数据库表名(db_table) 3、人类可读的单复数名称(verbose_name 和verbose_name_plural)。 from django.db import models class Pe…
thumbnail
mysql常见面试题
一、简述MySQL索引及其作用? 是数据库管理系统中一个排序的数据结构,根据不同的存储引擎索引分为Hash索引、B+树索引等。常见的InnoDB存储引擎的默认索引实现为:B+树索引。索引可以协助快速查询、更新数据库表中数据。 二、什么是事务? 事务是一系列的操作,需要要符合ACID特性,即:事务中的操作要么全部成功,要么全部失败。 三、如何保证数据…
面试手册
面试手册 1、你接触过哪几种数据库软件,各自的优缺点是什么? 2、MySQL binlog的几种日志格式有什么区别? 3、MySQL的存储引擎有哪几种? 4、MySQL主从复制原理是什么? 5、MySQL中myisam和innodb的区别? 6、字段类型varchar和char的区别是什么?varchar(50)中50代表什么? 7、关系型数据库和…
数据库优化
数据库优化 一、数据库硬件优化(选型) 1.一般数据库选择 1.真实的硬件,物理机 2.云产品ECS,自己搭建数据库 3.云数据库(RDS、DRDS) 2.数据库类型 1.OLTP 在线事务处理系统 支持大量并发用户定期添加和修改数据。 反映随时变化的单位状态,但不保存其历史记录。 包含大量数据,其中包括用于验证事务的大量数据。 可以进行优化以对事…
thumbnail
MHA高可用
MHA高可用 一 MHA背景介绍 MHA 是Perl语言写的,开源的MYSQL故障切换方案;全称:Master High Availability,故障切换时间10-30s 有人说,我不要MHA行不行啊; 可以,没问题, 如果主数据库故障了? 首先,你需要手动一个一个地登录上所有的SLAVE从库,然后一个个对比,看谁执行的BINLOG比较新,然后将…
thumbnail
MySQL主从
MySQL主从 一 主从复制介绍 1.1 什么是主从复制 将主服务器的binlog日志复制到从服务器上执行一遍,达到主从数据的一致状态,称之为主从复制。 一句话表示就是,主数据库做什么,从数据库就跟着做什么。 1.2 为何要做主从 (1)为实现服务器负载均衡/读写分离做铺垫,提升访问速度 #1、什么是读写分离 有了主从保持数据一致作为大前提,我们便…
快速导出和导入
快速导出和导入 一 介绍 ​ 在公司中,如果运营或者产品手里有几千万甚至几亿条数据,要求你将其导入数据中,请问如何做? ​ 如果你依据运营或产品交给你的数据文件直接使用insert语句,一行一行地批量插入,那至少需要1-2天时间才能插入完毕,此时我们可以用LOAD DATA INFILE语句。 ​ LOAD DATA INFILE语句可以从一个文本…
thumbnail
MySQL备份与恢复
MySQL备份与恢复 一 数据备份介绍 1.1 为何要备份 在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种. 硬件故障 软件故障 自然灾害 黑客攻击 误操作 (占比最大) 须知在生产环境中,服务器的硬件坏了可以维修或者换新,软件崩溃可以修复或重新安装, 但是如果数据没了那可就毁了,生产环境中最重要的应该就是数据了…
MySQL 日志管理
MySQL 日志管理 一 日志分类 日志种类 作用 错误日志 记录 MySQL 服务器启动、关闭及运行错误等信息 事务日志 1、redo log重做日志 2、undo log回滚日志 查询日志 记录所有的sql 慢查询日志 记录执行时间超过指定时间的操作,如果是全表查询,即便没有超时也会被记录下来 二进制日志 又称binlog日志,以二进制文件的方…
thumbnail
MySQL事务中的redo与undo
MySQL事务中的redo与undo 一 前言 ​ 众所周知InnoDB 是一个事务性的存储引擎,在上一小节我们提到事务有4种特性:原子性、一致性、隔离性和持久性,在事务中的操作,要么全部执行,要么全部不做,这就是事务的目的。 ​ 那么事务的四种特性到底是基于什么机制实现呢??? 1、事务的原子性、隔离性由锁机制实现,我们将在后续章节《数据库锁机制…
事务
innodb存储引擎核心特性之事务 https://www.cnblogs.com/linhaifeng/articles/14387841.html Redo用来保证事务的原子性和持久性,Undo能保证事务的一致性,两者也是系统恢复的基础前提。 比如有两个用户访问数据库,当然并发罗。A是更改,B是查询。 --A更改还没有提交,B查询的话,数据肯定…
thumbnail
索引和慢查询
索引原理与慢查询优化 一 我们要搞明白的问题 让我们带着以下问题展开对索引的探索 1、为何索引叫key 2、索引是如何加速查询的,它的原理是啥? 索引模型/结构从二叉树-》平衡二叉树-》b树最后到b+树,每种树到底有什么问题最终演变成到了b+树 3、为何b+树不仅能够加速等值查询,还能加速范围查询 4、什么是聚集索引,什么是辅助索引 5、什么情况下…
thumbnail
存储引擎
存储引擎 一 MySQL组织架构 1、连接层 1.验证用户的身份,用户名密码是否匹配 2.提供两种连接方式(TCP/IP连接、socket连接) 3.连接层提供了一个与sql层交互的线程 2、SQL层 1.接收连接层传过来的SQL语句 2.验证执行的SQL语法 3.验证SQL的语义(DDL,DML,DQL,DCL) 4.解析器:解析SQL语句,生成…

You cannot copy content of this page