自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 MySQL Explain详解

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。如果出现了这个值,那应该注意,根据查询的具体情况可能需要添加索引来改进能。显示这一步所访问数据库中表名称(显示这一行的数据是关于哪张表的),有时不是真实的表名字,可能是简称,例如上面的e,d,也可能是第几步执行的结果的简称。

2024-05-26 08:20:10 376

原创 MySQL事务提交过程

之所以关闭binlog,是因为开启binlog后事务提交流程会变成两阶段提交,这里的两阶段提交并不涉及分布式事务,当然mysql把它称之为内部xa事务(Distributed Transactions),与之对应的还有一个外部xa事务。4、清理保存点列表,每个语句实际都会有一个savepoint(保存点),保存点作用是为了可以回滚到事务的任何一个语句执行前的状态,由于事务都已经提交了,所以保存点列表可以被清理了。//trx_undo_set_state_at_prepare调用。

2024-05-26 08:18:02 441

原创 MySQL存储过程

因为存储过程是预编译的。"为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错,所以要事先用“DELIMITER //”声明当前段分隔符,让编译器把两个"//"之间的内容当做存储过程的代码,不会执行这些代码;当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。(5).作为一种安全机制来充分利用:通过对执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

2024-05-26 08:16:45 264

原创 MySQL binlog日志

Pos: 11308 ----------------------------------------------------------> pos起始点:11308(即:上行的pos结束点)Server_id: 1 --------------------------------------------------------------> 标识是由哪台服务器执行的。INSERT INTO `team2` VALUES (0,345,'asdf8er5') ---> 执行的sql语句。

2024-05-26 08:14:47 940

原创 mysqldump 导出中文乱码

用命令:mysqldump -uroot -p test --default-character-set=utf8 > c1.sql 重新导出数据库,结果仍然是乱码。接下来只导出test数据库的表结构,命令:mysqldump -uroot -p -d test > c1.sql。新建一个测试数据库,将导出有乱码问题的数据库导入,结果linux下查看,也无中文乱码问题。这时候,猜测是不是数据库的字符集的编码有问题,然后进入数据库,再次导出,显示正常,无中文乱码。打开来看,显示正常,无乱码。

2024-05-25 08:56:50 563

原创 mysqldump的实现原理

但这样做,就无法实现对所有表的一致性备份。可见,如果仅是START TRANSACTION,事务2的insert操作提交后,session 1可见(注意,可见的前提是session 2的insert操作在session 1的select操作之前)3. mysqldump只适合放到业务低峰期做,如果备份的过程中数据操作很频繁,会造成Undo表空间越来越大,undo表空间默认是放到共享表空间中的,而ibdata的特性是一旦增大,就不会收缩。而热备指的是在线热备,即在不关闭数据库的情况下,对数据库进行备份。

2024-05-25 08:54:38 906

原创 mysqldump参数详细说明

等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.可以使用选项:--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys。开始导出前,锁定所有表。

2024-05-25 08:52:38 394

原创 MySQL insert插入数据

加我微信公众号免费学:【DB哥】文末有MySQL高级课程目录INSERT语句有两种语法形式,分别是INSERT..VALUES....语句和INSERT...SET...语句。

2023-05-04 09:16:34 4644

原创 MySQL WHERE 子句

加我微信公众号免费学:DB哥文末有MySQL高级课程目录使用where子句对表中的数据筛选,结果为true的行会出现在结果集中,语法如下:select * from 表名 where 条件;

2023-04-27 16:01:28 353

原创 mysql面试题

MySQL是一个关系型数据库,它采用表的形式来存储数据。你可以理解成是Excel表格,既然是表的形式存储数据,就有表结构(行和列)。行代表每一行数据,列代表该行中的每个值。列上的值是有数据类型的,比如:整数、字符串、日期等等。索引是存储引擎用于提高数据库表的访问速度的一种数据结构。它可以比作一本字典的目录,可以帮你快速找到对应的记录。索引一般存储在磁盘的文件中,它是占用物理空间的。如果 SQL 语句中用到了组合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个组合索引去进行匹配。

2023-04-26 16:15:08 575

原创 MySQL是什么

MySQL 的安装目录包含一些子目录以及一些后缀名为.ini的配置文件。mysql安装教程MySQL目录结构MySQL目录结构MySQL 5.7 的 Data 目录和 my.ini 文件有时并不放在 MySQL 的安装目录下,而是在下(如上图所示)。一般情况下,C 盘下的 ProgramData 目录是隐藏的,需要取消隐藏。MySQL 安装目录的作用。bin 目录:用于放置一些可执行文件,如 mysql.exe、mysqld.exe、mysqlshow.exe 等。docs 目录:存放一些文档。

2023-04-26 16:02:16 315

原创 MySQL数据类型-视频+图文详解

MySQL数据类型与性能(1)关注微信公众号免费学:【DB哥】文末有MySQL高级课程目录。

2023-04-26 10:24:50 306

原创 MySQL索引-视频+图文详解

因为现在使用的mysql默认存储引擎是Innodb,所以本篇文章重点讲述Innodb下的索引, 顺带简单讲述其他引擎。希望小伙伴们能通过这片文章对mysql的索引有更加清晰的认识,废话不多说,我们开始吧。首先,我们先带着一些问题来看接下来的内容。索引是个什么东西?我们可以创建哪些索引?哪些字段适合建立索引呢?索引是不是越多越好呢?为什么我们不建议使用uuid、身份证号等数据做为主键?为什么不建议使用select * from table?

2023-04-26 09:45:08 465

原创 MySQL安装教程-视频+图文超详细

DB哥手把手带你安装MySQL5.7.26关注公众号免费学:DB哥文末有MySQL高级课程目录。

2023-04-25 17:15:15 369

原创 MySQL主从复制

关注公众号免费学:DB哥文末有MySQL高级课程目录。

2023-04-25 15:09:33 199

原创 mysqldump

因为你走弯路了,没有系统的规划,碎片化的学习,让你对MySQL没有一个整体的认知,而且没有人给你引路指导、纠错,让你很难有进步。不同数据库表的导出状态可以完全不同。如果你希望你的导出和日志刷新发生在同一个确定的时刻,你需要使用–lock-all-tables,或者–master-data配合–flush-logs。该选项将打开-lock-all-tables 选项,除非-single-transaction也被指定。与-tab选项一起使用,不能用于-databases和-all-databases选项。

2023-04-25 15:02:47 191

原创 mysql命令

因为你走弯路了,没有系统的规划,碎片化的学习,让你对MySQL没有一个整体的认知,而且没有人给你引路指导、纠错,让你很难有进步。这是最基本的索引,它没有任何限制,比如上文中为title字段创建的索引就是一个普通索引,MyIASM中默认的BTREE类型的索引,也是我们大多数情况下用到的索引。如果是组合索引,则列值的组合必须是唯一的,创建方法和普通索引类似。内连接:select * from 表名1 inner join 表名2 on 表名1.xh=表名2.xh where 条件;

2023-04-25 14:54:20 75

原创 MySQL数据库

在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。对于非关系型数据库即NoSQL数据库,以数据集的方式,把大量的数据集中存储在一起,类似于键值对、图结构或者文档,比较主流的有redis,HBase,MongoDb,memcache等产品,通常都采用开源的方式,。因为你走弯路了,没有系统的规划,碎片化的学习,让你对MySQL没有一个整体的认知,而且没有人给你引路指导、纠错,让你很难有进步。

2023-04-25 14:46:33 1573

原创 mysql面试题

  一、为什么用自增列作为主键    1、如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引。    如果没有显式定义主键,则InnoDB会选择第一个不包含有NULL值的唯一索引作为主键索引。    如果也没有这样的唯一索引,则InnoDB会选择内置6字节长的ROWID作为隐含的聚集索引(ROWID随着行记录的写入而主键递增,这个ROWID不像ORACLE的ROWID那样可引用,是隐含的)。    2、如果表使用自增主键,那么每次插入新的记录,记录就会顺序

2021-07-18 22:36:17 172 1

原创 mysql数据库操作

  查看所有的数据库    show databases;    进入数据库    use 数据库名;    创建数据库    create database 数据库名 default charset utf8;    查看当前使用的数据库    select database();    删除数据库    drop database 数据库名;  安装mysql:http://anzhuang.cuohei.com/  查看数据库的表    show table

2021-07-06 20:06:39 61

原创 mysql表的操作

 创建表    create table 表名 (列名1 数据类型,列名2 数据类型) engine=innodb default charset=utf8;    实例:    #创建表t1,id列为int类型,不能为空。且自增;name列为char类型,不超过10个字符    create table t1(id int not null auto_increment primary key,name char(10));    查看表的结构    desc 表名;    向

2021-07-06 20:06:02 66

原创 MySQL常见的数据类型

 mysql的数据类型:数值型、日期/时间、字符串类型  安装mysql:http://down.cuohei.com/  tinyint:小整数,数据类型用于保存一些范围的整数数值范围,MySQL中无布尔值,使用tinyint(1)构造    int:整数    varint:大整数    float:单精度浮点数,数值越大越不准确    double:双精度浮点数,数值越大月不准确    char:用于表示固定长度的字符串,可以包含最多达255个字符    varchar:用

2021-07-06 20:05:23 91

原创 mysql无法命中索引的情况

 1、like "xx"    2、使用函数    3、or    当or条件中有未建立索引的列时才失效    一下情况还是会走索引(id和email是索引):    select * from tb1 where id =1 or name = "kkk" and email = "123456";  安装mysql:http://fix.cuohei.com/  4、类型不一致    如果是字符串类型,传入条件时必须用括号括起来    5、!=    如果是主键,还是

2021-07-06 20:04:47 555

原创 mysql数据库中常用的概念

 (1)字段:表中的一列,(也叫属性);    (2)记录:表中的一行,(也叫元组);    (3)关键字:一组可以唯一标识记录的字段,(能根据它快速分类,检索到目的数据的关键词);    (4)域:字段的取值范围,(即某一列的取值限制);    (5)关系:就是数据库的表,(即数据库的表名);    (6)关系模式:定义关系的描述叫关系模式,通常表示为:表名(字段1,字段2,……),(也叫表结构);    (7)事务:是作为单个逻辑单元执行的一系列操作,(也就是一组不可分割的sql

2021-07-06 20:04:04 84

原创 常见的mysql命令

  登录    mysql -uroot -p密码;    查看数据库    show databases;    创建数据库    create database 数据库名;    使用某个数据库    use 数据库名;    查看当前数据库的表    show tables;  安装mysql:http://mysql.cuohei.com/    初始化数据    source sql脚本路径;    当一个文件的扩展名为.sql,并且该文件中编

2021-07-06 20:03:25 61

原创 mysql知识点

  1、MySQL的复制原理以及流程    基本原理流程,3个线程以及之间的关联:    主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中;    从:io线程——在使用start slave 之后,负责从master上拉取 binlog 内容,放进 自己的relay log中;    从:sql执行线程——执行relay log中的语句;    2、MySQL中myisam与innodb的区别:    1>.InnoDB支持事物,而

2021-07-06 20:02:47 241

原创 MySQL函数

  在此,先准备测试数据,代码如下:    -- 创建数据库    DROP DATABASE IF EXISTS mydb;    CREATE DATABASE mydb;    USE mydb;    -- 创建student表    CREATE TABLE student (    sid CHAR(6),    sname VARCHAR(50),    age INT,    gender VARCHAR(50) DEFAULT 'male'   

2021-07-05 21:00:49 139

原创 SQL简述

  1.SQL的概述    Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。mysql安装请参考:http://www.runbulls.com/    2.SQL的优点    1、简单易学,具有很强的操作性    2、绝大多数重要的数据库管理系统均支持SQL

2021-07-05 20:52:45 83

原创 MySQL数据库的三范式

  1、第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据线;也就是说:每列的值具有原子性,不可再分割。    2、第二范式(2NF)是在第一范式(1NF)的基础上建立起来得,满足第二范式(2NF)必须先满足第一范式(1NF)。如果表是单主键,那么主键以外的列必须完全依赖于主键;如果表是复合主键,那么主键以外的列必须完全依赖于主键,不能仅依赖主键的一部分。    3、第三范式(3NF)是在第二范式的基础上建立起来的,即满足第三范式必须要先满足第二范式。第三范式(3NF)要求:表中的非主键列

2021-07-05 20:51:37 93

原创 MySQL删除数据

  在MySQL通过DELETE语句删除数据表中的数据。在此,我们先准备一张数据表,代码如下:    -- 创建学生表    create table student(    id int,    name varchar(30),    age int,    gender varchar(30)    );  MySQL安装请参考:http://anzhuang.cuohei.com/    -- 插入数据    insert into student (id,n

2021-07-05 20:49:57 8091

原创 MySQL数据表简单查询

  1.简单查询概述    简单查询即不含where的select语句。在此,我们讲解简单查询中最常用的两种查询:查询所有字段和查询指定字段。  mysql安装请参考:http://shujuku.cuohei.com/  在此,先准备测试数据,代码如下:    -- 创建数据库    DROP DATABASE IF EXISTS mydb;    CREATE DATABASE mydb;    USE mydb;    -- 创建student表    CREAT

2021-07-05 20:49:22 830

原创 MySQL数据库、数据表的基本操作

  1.数据库的基本操作    MySQL安装完成后,要想将数据存储到数据库的表中,首先要创建一个数据库。创 建数据库就是在数据库系统中划分一块空间存储数据,语法如下:    create database 数据库名称;    创建一个叫db1的数据库MySQL命令:    -- 创建一个叫db1的数据库    show create database db1;    创建数据库后查看该数据库基本信息MySQL命令:    show create database db1;..

2021-07-05 20:48:10 399

原创 MySQL数据表插入数据

  在MySQL通过INSERT语句向数据表中插入数据。在此,我们先准备一张学生表,代码如下:    create table student(    id int,    name varchar(30),    age int,    gender varchar(30)    );  安装mysql请参考:http://xiazai.runbulls.com/    1. 为表中所有字段插入数据    每个字段与其值是严格一一对应的。也就是说:每个值、值的顺序、值的

2021-07-05 20:47:20 7607

原创 MySQL更新数据update

  在MySQL通过UPDATE语句更新数据表中的数据。在此,我们将就用六中的student学生表    1. UPDATE基本语法    UPDATE 表名 SET 字段名1=值1[,字段名2 =值2,…] [WHERE 条件表达式];    在该语法中:字段名1、字段名2…用于指定要更新的字段名称;值1、值 2…用于表示字段的新数据;WHERE 条件表达式 是可选的,它用于指定更新数据需要满足的条件    2. UPDATE更新部分数据    示例:将name为tom的记录的age设

2021-07-05 20:46:25 2530

原创 mysql安装教程--图文讲解超详细

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式:

2021-06-27 22:49:37 148

原创 MySQL安装配置教程

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式:推荐使用二进制安.

2021-06-26 22:47:12 78

原创 mysql安装配置教程

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式.

2021-06-24 21:23:55 109

原创 mysql安装教程

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式.

2021-06-24 21:22:43 579

原创 mysql下载安装教程

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式.

2021-06-24 21:22:01 3105

原创 mysql5.7安装

1.mysql下载①进入mysql官方网站:https://www.mysql.com/ 点击进入DOWNLOADS下载页面②进入下载页面后,找到mysql社区版本MySQL Community (GPL) Downloads点击进入③进入社区版页面后,进行如下点击④进入后,点击mysql版本归档页面⑤进入mysql版本归档页面后选择你所需要的mysql版本、操作系统及系统版本,然后点击download即可下载2.mysql安装规范  MySQL安装方式.

2021-06-24 21:21:32 71

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除